ppt转PDF耗时十几秒,能否优化

版本:23.12
编程语言:java
示例代码:

presentation = new Presentation(inputStream);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
presentation.save(outputStream, SaveFormat.Pdf);

ppt文件:
聚烯烃弹性体生产现状及发展前景 (1).zip (2.1 MB)

@ZhonghaoSun,
感谢您联系支持。我已经重现了您描述的问题。

我们已在内部问题跟踪系统中打开了以下新的工单,并将根据Free Support Policies中提到的条款修复它们。

问题 ID:SLIDESJAVA-39419

如果您需要优先支持,您可以获取Paid Support Services,以及直接访问我们的付费支持管理团队。

如果可能的话,请还提供以下额外信息:

  • 进行转换的操作系统版本
  • 您的应用程序中的 JDK 目标版本

感谢。
我们这边使用的版本:
操作系统:Linux
JDK版本:1.8

@ZhonghaoSun,
谢谢您提供额外的信息。我已经转发给我们的开发人员了。

你好,想问下目前是否有配置参数可以减少ppt转PDF的耗时 ,比如降低转出来的pdf的清晰度之类的配置。

@ZhonghaoSun,
抱歉,我看不到实现这一点的方法。对造成的不便,我们深感抱歉。

@ZhonghaoSun,
请注意,转换的第一次启动需要超过10秒的时间。所有后续的转换将以两倍的速度运行。不幸的是,我们无法减少第一次启动的执行时间,原因是我们需要初始化各种内部参数。

for (int i =0; i < 10; i ++) {
    long start = System.currentTimeMillis();
    Presentation presentation = new Presentation("sample.pptx");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    presentation.save(outputStream, SaveFormat.Pdf);
    long end = System.currentTimeMillis();
    System.out.println("Execution time " + i + ": " + (end - start));
}

输出:

Execution time 0: 11319
Execution time 1: 5500
Execution time 2: 5068
Execution time 3: 5057
Execution time 4: 4971
Execution time 5: 4919
Execution time 6: 4926
Execution time 7: 4849
Execution time 8: 4833
Execution time 9: 4826

顺便说一句,如果你使用 PowerPoint.Application OLE,执行时间与我们的并没有太大的不同,除了第一次迭代:

Execution time 0: 5252
Execution time 1: 4241
Execution time 2: 4188
Execution time 3: 4243
Execution time 4: 4210
Execution time 5: 4123
Execution time 6: 4095
Execution time 7: 4132
Execution time 8: 4233
Execution time 9: 4193