我正在用 Perl 构建一个 Web 应用程序。用户向我发送一个 XML 文件,其中包含对许多 PDF 文档的引用。我使用 XSLT 将 XML 转换为 XHTML,然后使用 PrinceXML 从 XHTML 创建 PDF 文档。此 PDF 为将包含的附件保留带有页眉和页脚的空白页面。
获得 PDF 后,我使用 PDF::API2 Perl 模块逐一打开 XML 中引用的 PDF 文档,如果需要,缩放和旋转页面,然后将它们包含在我创建的 PDF 文档中。
我的问题是用户提交的许多 PDF 都以某种方式损坏。即,它们不符合 Adobe 的 PDF 规范,并且 PDF::API2 不知道如何操作它们。PDF::API2 文档建议使用 pdftk 修复损坏的 PDF,但这通常需要很长时间并且在许多情况下并不成功。
修复此类损坏的 PDF 的最佳方法是什么?