我正在尝试以编程方式从 PDF 页面中裁剪出一个区域。具体来说,我的输入将是单页 PDF 和页面上的边界框。输出将是一个包含原始 PDF 中的字符、图形路径和图像的 PDF,它应该看起来像原始 PDF。换句话说,我想要一个类似于从图像中裁剪区域的功能,但使用 PDF。
三个问题:
有可能做到吗?根据我对 PDF 的了解,这似乎是可能的。但我不是专家,所以我想先知道这里是否有我遗漏的东西。
有没有这方面的开源软件?
PDFBox 目前可以这样做吗?我找不到这样的功能,但我可能已经错过了。有人知道这样做的任何尝试吗?
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 英寸。
请注意,裁剪框之外的内容并没有消失,它们只是被隐藏了。