I "cropped" barcode (
https://drive.google.com/file/d/0B8GFWmLzuj1QV0ZNZ3VyaEkxc1E/view?usp=docslist_api)
from a PDF file using PDRectangle.
...
PDRectangle cropbBox = page.getCropBox();
page.setCropBox(new PDRectangle((float)51.871-10, (float)18.876,
(float)293.25+20, (float)36.75));
doc.save("/dirXYZ/testcrop.pdf");
doc.close();
...
But in line 'pdfRenderer.renderImageWithDPI(i, 200, ImageType.RGB)'
PDFRenderer pdfRenderer = new PDFRenderer(document);
for (int i = 0; i < document.getNumberOfPages(); ++i)
{
BufferedImage bim = pdfRenderer.renderImageWithDPI(i, 200,
ImageType.RGB);
// suffix in filename will be used as the file format
ImageIOUtil.writeImage(bim,
"/home/pivetta/desenvolvimento/pdf_to_png/testepdfbox/testecrop" + "-" +
(i+1) + ".png", 600);
}
throws NegativeAtiveArraySizeException. I'm using PDFBOX 2.0.2, java 8,
Exception in thread "main" java.lang.NegativeArraySizeException
at java.awt.image.DataBufferByte.<init>(DataBufferByte.java:76)
at java.awt.image.Raster.createInterleavedRaster(Raster.java:266)
at java.awt.image.Raster.createInterleavedRaster(Raster.java:212)
at
java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2825)
at
org.apache.pdfbox.rendering.TilingPaint.getImage(TilingPaint.java:134)
at org.apache.pdfbox.rendering.TilingPaint.<init>(TilingPaint.java:69)
at org.apache.pdfbox.rendering.PageDrawer.getPaint(PageDrawer.java:251)
at
org.apache.pdfbox.rendering.PageDrawer.getNonStrokingPaint(PageDrawer.java:529)
at org.apache.pdfbox.rendering.PageDrawer.fillPath(PageDrawer.java:600)
at
org.apache.pdfbox.contentstream.operator.graphics.FillNonZeroRule.process(FillNonZeroRule.java:36)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processOperator(PDFStreamEngine.java:815)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStreamOperators(PDFStreamEngine.java:472)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processStream(PDFStreamEngine.java:446)
at
org.apache.pdfbox.contentstream.PDFStreamEngine.processPage(PDFStreamEngine.java:149)
at org.apache.pdfbox.rendering.PageDrawer.drawPage(PageDrawer.java:189)
at
org.apache.pdfbox.rendering.PDFRenderer.renderPage(PDFRenderer.java:208)
at
org.apache.pdfbox.rendering.PDFRenderer.renderImage(PDFRenderer.java:139)
at
org.apache.pdfbox.rendering.PDFRenderer.renderImageWithDPI(PDFRenderer.java:94)
at ExtractImagesFromPDF.main(ExtractImagesFromPDF.java:67)