fbpx
< 戻る
印刷

変換時に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)
				
			

これは、Javaが、現在のPDFページの画像を作成しようとしている画像のためのメモリを割り当てることができないことを意味します。

JVMは、あるサイズ(正確な量はシステムに依存します)を超えるBufferedImageを扱うことができません。ヒープサイズを大きくすることは助けになるかもしれませんが、Javaのすべてのメモリ問題を解決するわけではありません(特に、Javaとネイティヴの両方のヒープが関係している場合)。

別の解決策は、PDFをより小さい縮尺で変換することです。たとえば、Javadocの例で説明されているように、ConverPagesToImagesを使って縮小画像を作成することができます

また、getPageDimensionsを使用して、変換前にページサイズをチェックし、文書が大きすぎてシステムで処理できないかどうかをテストし、それから小さいサイズでページを作成することもできます。

 

    MENU
    PAGE TOP