PDFを画像に変換する際のJVMクラッシュを防ぐ
非常に大きなPDFを画像に変換しようとすると、次のエラーが発生することがあります:
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75)
at java.awt.image.Raster.createPackedRaster(Raster.java:467)
これは、現在のPDFページの画像を作成するためのメモリをJavaが割り当てられないことを意味します。
JVMは一定のサイズを超えるBufferedImageを処理できません(正確な量はシステムに依存します)。ヒープサイズを増やすことで改善する場合もありますが、Javaのすべてのメモリ問題を解決するわけではありません(特にJavaヒープとネイティブヒープの両方が関係する場合)。
別の解決策として、PDFをより小さいスケールで変換する方法があります。例えば、Javadocの例で説明されているように、ConvertPagesToImages を使用してスケールされた画像を作成できます。
また、getPageDimensions を使用して、変換前にページサイズを確認し、ドキュメントがシステムで処理するには大きすぎるかどうかをテストしてから、より小さいサイズでページを生成することもできます。
