PDFbox - 如何在 Java 中测试和调整 PDF 以匹配 PDF/A 合规性

use*_*702 5 java pdf parsing pdfa pdfbox

在Java中,我希望能够读取PDF文件,测试它是否兼容PDF/A(PDF for Archiving),如果不兼容,则将文件转换为PDF/A。

我可能更喜欢 Apache PDFBox,因为我已经在该 API 中做了一些事情,但我也愿意接受其他 API。

Til*_*err 6

可以使用 PDFBox 预检来测试 PDF 文件是否为 PDF/A-1b,请参阅此处的示例或使用预检应用程序。

创建一个将文件从 PDF 转换为 PDF/A 的工具是一项艰巨的任务,需要花费数月甚至数年的时间。如果您查看 PDFBox 预检的源代码,您会发现数百条错误消息。因此,您的工具必​​须能够修复每个错误。有些是:

  • 非嵌入字体
  • 在没有输出意图的情况下使用颜色
  • 不正确的元数据
  • JBIG2编码图像
  • LZW编码数据

只需使用 PDFBox 预检检查您自己的一些文件,您就会发现各种各样的问题...

如果您没有几个月或几年的时间,请访问此类转换器的主页Callas Software GmbHPDF Tools AG购买此类转换器。

  • 我想支持蒂尔曼。问题不仅涉及技术步骤,还涉及确保充分理解 PDF 和 PDF/A 规范。关于如何阅读和解释不同供应商同意的规范(反映在他们的工具中)进行了多次讨论。虽然您可以使用 PDFBox 来构建转换,但购买和建立转换器可能更(成本)有效。请记住,并不总是可以将任意 PDF 转换为 PDF/A (2认同)