お世話になっております。
windowsでAspose.Cells・words・slides for Java を使用して、officeファイルを画像やpdfに変換するアプリを開発しています。
実行環境のJREのバージョンを8から21にバージョンアップしたところ、Asposeライブラリでファイルを変換・保存する処理の時間が長くなりました。
この現象の改善方法があれば教えてください。無ければ、修正をお願いいたします。
以下、比較結果です。
★JRE8
office⇒画像
doc:4秒
xls:6秒
ppt:8秒
office⇒pdf
doc:8秒
xls:4秒
ppt:10秒
★JRE21
office⇒画像
doc:17秒
xls:15秒
ppt:30秒
office⇒pdf
doc:25秒
xls:29秒
ppt:90秒
以下、実行環境の詳細です。
★OSバージョン
Microsoft Windows Server
バージョン 1607 (OS ビルド 14393.6709)
★スペック
プロセッサ:Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz
実装RAM:4.00GB(3.79GB使用可能)
システムの種類:64ビット オペレーティングシステム、x64ベース プロセッサ
★JREバージョン
更新前
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (Temurin)(build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (Temurin)(build 25.402-b06, mixed mode)
更新後
openjdk version "21.0.3" 2024-04-16 LTS
OpenJDK Runtime Environment Temurin-21.0.3+9 (build 21.0.3+9-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.3+9 (build 21.0.3+9-LTS, mixed mode, sharing)
★asposeバージョン
(Cells・words・slides全て)24.3
比較に使用したofficeファイルと、各変換処理のサンプルコードを添付します。
jre_update8to21_processing_time.zip (5.7 MB)
@AkiyamaTsutomu
サンプルファイルと以下のテストコードを使用して最新バージョンAspose.Cells for Java v24.7でテストを行ったところ、2つのバージョンのjdk実行時間を比較したところ、明らかな変化は見られなかった。
サンプルコードは次のとおりです。
System.out.println(CellsHelper.getVersion());
System.out.println(DateTime.getNow());
Workbook workbook = new Workbook(filePath + "bigfile_5.xls");
ImageOrPrintOptions imageOptions = new ImageOrPrintOptions();
imageOptions.setImageType(com.aspose.cells.ImageType.JPEG);
imageOptions.setQuality(75);
Worksheet sheet = workbook.getWorksheets().get(0);
SheetRender render = new SheetRender(sheet, imageOptions);
imageOptions.setDesiredSize(500, 700, true);
render.toImage(0, filePath + "out_java.jpeg");
System.out.println(DateTime.getNow());
System.out.println(DateTime.getNow());
Workbook wb = new Workbook(filePath + "bigfile_5.xls");
PdfSaveOptions pdfSaveOpt = new PdfSaveOptions();
pdfSaveOpt.setCompliance(PdfCompliance.PDF_17);
pdfSaveOpt.setOutputBlankPageWhenNothingToPrint(false);
wb.save(filePath + "out_java.pdf", pdfSaveOpt);
System.out.println(DateTime.getNow());
java version “21.0.4”:
24.7.0
2024-07-17T16:48:55
2024-07-17T16:48:57
2024-07-17T16:48:57
2024-07-17T16:48:58
java version 1.8.0_45:
24.7.0
2024-07-17T16:47:31
2024-07-17T16:47:35
2024-07-17T16:47:35
2024-07-17T16:47:36
最新バージョンAspose.Cells for Java v24.7に更新して再テストしてもいいですか。
@AkiyamaTsutomu,
Aspose.Slidesについてですが、JRE 8からJRE 21に移行した後、プレゼンテーションの読み込み時間、プレゼンテーションの画像への変換時間、およびプレゼンテーションのPDFへの変換時間が二倍に増加したことを発見しました。
以下の新しいチケットを社内の課題管理システムに登録しました。これらの修正は Free Support Policies に記載されている条件に従って提供されます。
Issue ID(s): SLIDESJAVA-39505
こちらのリンク Paid Support Services をご利用いただければ、優先的なサポートおよび有料サポート管理チームへの直接アクセスが可能です
@AkiyamaTsutomu,
案件を調査しました。新しいJDKバージョンには、以前のJDKにあった高速なJPEGコーデックがないため、タイミングの違いが生じています。そのコーデックには問題がありましたが、高速でした。
調査ありがとうございます。
Java21でもJava8と同等の速度で処理できるように修正をお願いします。
@AkiyamaTsutomu,
私たちは、この問題に直面しなければならなかったことに対してお悔やみ申し上げますが、残念ながらJDKはAsposeの製品ではありません。私たちはそれを改善することはできません。