如何使用 PDFBox 将 PDF 文件的一部分渲染为图像?

Fat*_*Gee 4 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();
Run Code Online (Sandbox Code Playgroud)

我会对解决方案感到非常高兴,因为我几个小时都没有找到解决方案

Fat*_*Gee 7

我自己找到了解决办法。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();
Run Code Online (Sandbox Code Playgroud)