Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.20
-
None
-
None
-
Java Version: 11
Java Runtime Version: 11+28
Java Home: OpenJDK11_x64
Java Vendor: Oracle Corporation
Java Vendor URL: http://java.oracle.com/
Description
Hello,
I am faced to this issue when i want to convert only the first page of a pdf image to a tiff image file.
This is my java method :
private static ByteArrayOutputStream extractFirstPageAsTiff(File pdfsource) throws IOException { ByteArrayOutputStream out = new ByteArrayOutputStream(); ImageOutputStream imageOut = new MemoryCacheImageOutputStream(out); // Load the PDF try (PDDocument pdf = PDDocument.load(pdfsource)) { // Initialize PDF renderer PDFRenderer ren = new PDFRenderer(pdf); // Setup Image Writer ImageWriter writer = ImageIO.getImageWritersBySuffix("tiff").next(); writer.setOutput(imageOut); // Setup Image Writer Parameters ImageWriteParam params = writer.getDefaultWriteParam(); params.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); params.setCompressionType(COMPRESSION_TYPE_GROUP4FAX); // Writer pages to the image writer // capture the page image to file BufferedImage src = ren.renderImageWithDPI(0, RESOLUTION); int[] cmap = new int[] { 0xFF000000, 0xFFFFFFFF }; BufferedImage src4BitColourDepth = ConvertUtil.convert4(src, cmap); // Prepare the Image Writer writer.prepareWriteSequence(null); writer.writeToSequence(new IIOImage(src4BitColourDepth, null, null), params); // End Writer Sequence writer.endWriteSequence(); imageOut.close(); } return out; }
Produce this stack :
Exception in thread "main" java.lang.OutOfMemoryError: Java heap spaceException in thread "main" java.lang.OutOfMemoryError: Java heap space at java.desktop/java.awt.image.DataBufferInt.<init>(DataBufferInt.java:75) at java.desktop/java.awt.image.Raster.createPackedRaster(Raster.java:467) at java.desktop/java.awt.image.DirectColorModel.createCompatibleWritableRaster(DirectColorModel.java:1032) at java.desktop/java.awt.image.BufferedImage.<init>(BufferedImage.java:324) at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:296) at org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:243) at org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:215) at sandbox.tess4j.DetectOrientation.extractFirstPageAsTiff(DetectOrientation.java:173)
In attachement the pdf document After Orientation.pdf
Run with :
Java Version: 11 Java Runtime Version: 11+28 Java Home: OpenJDK11_x64 Java Vendor: Oracle Corporation Java Vendor URL: http://java.oracle.com/