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

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

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

最佳答案

我自己找到了解决方案。 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();

关于java - 如何使用 PDFBox 将 PDF 文件的一部分渲染为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51145091/

相关文章:

java - 在 Java 中将 BigDecimal 转换为 String 时如何删除无关紧要的零?

iphone - 在 IOS 中集成 xPDF? (可行性检查)

java - 如何在java中旋转图像位图

angularjs - 倒计时组件 : how to prevent re-rendering in Angular2?

java - 查找后无法使用数据源

java - 在同一页面上获取、处理和显示结果

java.util.ServiceConfiguration错误: Provider could not be instantiated

java使用pdfbox从msoffice转pdf

php - 使用 php 将 pdf 远程文件存储在 postgres 数据库中

WPF DataGrid 渲染速度很慢