使用 PDFBox 从 PDF 页面裁剪区域

riv*_*ivu 5 pdf pdfbox

我正在尝试以编程方式从 PDF 页面中裁剪出一个区域。具体来说,我的输入将是单页 PDF 和页面上的边界框。输出将是一个包含原始 PDF 中的字符、图形路径和图像的 PDF,它应该看起来像原始 PDF。换句话说,我想要一个类似于从图像中裁剪区域的功能,但使用 PDF。

三个问题:

  1. 有可能做到吗?根据我对 PDF 的了解,这似乎是可能的。但我不是专家,所以我想先知道这里是否有我遗漏的东西。

  2. 有没有这方面的开源软件?

  3. PDFBox 目前可以这样做吗?我找不到这样的功能,但我可能已经错过了。有人知道这样做的任何尝试吗?

Til*_*err 3

1-是的,这称为裁剪框

2- 是的,例如 PDFBox。

3- 是的,只需打开 PDF,设置裁剪框,然后保存即可:

PDDocument doc = PDDocument.load(new File(...));
PDPage page = doc.getPage(0);
page.setCropBox(new PDRectangle(20, 20, 200, 400));
doc.save(...);
doc.close();
Run Code Online (Sandbox Code Playgroud)

PDRectangle 中的数字是用户空间单位。1 单位 = 1/72 英寸。

请注意,裁剪框之外的内容并没有消失,它们只是被隐藏了。

  • 生成的 PDF 看起来是正确的,但通过进一步分析,您可以看到裁剪框之外的文本并没有消失,而是被隐藏了。 (2认同)