Mac OS X 10.15.2
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
try
(PDDocument document = PDDocument.load(pdfFile)) {
PDFRenderer renderer =
new
PDFRenderer(document);
for
(
int
i = 0; i < document.getNumberOfPages(); i++){
System
.out.println(
"Rendering "
+ i +
" th page"
);
BufferedImage bufferedImage = renderer.renderImageWithDPI(i, 300);
Rendering 18 th page
java.lang.OutOfMemoryError: Java heap space
at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:92) at java.awt.image.ComponentSampleModel.createDataBuffer(ComponentSampleModel.java:445) at sun.awt.image.ByteInterleavedRaster.<init>(ByteInterleavedRaster.java:90) at sun.awt.image.ByteInterleavedRaster.createCompatibleWritableRaster(ByteInterleavedRaster.java:1281) at sun.awt.image.ByteInterleavedRaster.createCompatibleWritableRaster(ByteInterleavedRaster.java:1292) at org.apache.pdfbox.filter.DCTFilter.fromBGRtoRGB(DCTFilter.java:312) at org.apache.pdfbox.filter.DCTFilter.decode(DCTFilter.java:148) at org.apache.pdfbox.cos.COSInputStream.create(COSInputStream.java:84) at org.apache.pdfbox.cos.COSStream.createInputStream(COSStream.java:175) at org.apache.pdfbox.pdmodel.common.PDStream.createInputStream(PDStream.java:241) at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.createInputStream(PDImageXObject.java:774) at org.apache.pdfbox.pdmodel.graphics.image.SampledImageReader.from8bit(SampledImageReader.java:373) at org.apache.pdfbox.pdmodel.graphics.image.SampledImageReader.getRGBImage(SampledImageReader.java:226) at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:477) at org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject.getImage(PDImageXObject.java:458) at org.apache.pdfbox.rendering.PageDrawer.drawImage(PageDrawer.java:1124) at org.apache.pdfbox.contentstream.
operator
.graphics.DrawObject.process(DrawObject.java:67) at org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:875) at org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:509) at org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:483) at org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:156) at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:269) at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:321) at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:243) at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:215) at com.github.leoleozhu.PdfRenderTest.testRenderImages(PdfRenderTest.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
Even of I set the i in the for loop to start at 18, it also fails at 18th page.
Could you please have a look and provide some suggestions for my case?
Thank and kind regards