如何使用PDFBox将部分PDF文件呈现为图像?

时间:2018-07-03 00:09:18

标签: java pdf render pdfbox

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();

我会很高兴找到解决方案,因为我已经有好几个小时没有找到解决方案了

1 个答案:

答案 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();