PDFBox提供了呈现整个页面的功能,但没有办法仅呈现页面的特定矩形。
此代码对我有用。但是如上所述,它渲染了整个页面,我需要一种方法来渲染pdf文件的一小部分区域:
File file = new File("package.pdf");
PDDocument document = PDDocument.load(file);
PDFRenderer renderer = new PDFRenderer(document);
BufferedImage image = renderer.renderImageWithDPI(0, 400);
ImageIO.write(image, "PNG", new File("C:/package1.png"));
document.close();
我会很高兴找到解决方案,因为我已经有好几个小时没有找到解决方案了
答案 0 :(得分:2)
我自己找到了解决方法。 CropBox是我不知道的决定性关键词。
File file = new File("package.pdf");
PDDocument document = PDDocument.load(file);
PDPage page = document.getPage(0);
page.setCropBox(new PDRectangle(133f, 150f, 100f, 100f)); // Here you draw a rectangle around the area you want to specify
PDFRenderer renderer = new PDFRenderer(document);
BufferedImage image = renderer.renderImageWithDPI(0, 400);
ImageIO.write(image, "PNG", new File("C:/fatihabi.png"));
document.close();