我正在尝试将现有 PDF(以其他方式创建)添加到使用 FPDI 使用 FPDF 创建的 PDF。它似乎适用于大多数 PDF,但我收到以下错误:
FPDF error: Unable to find xref table.
经过一些测试,我发现如果我使用 1.4 或更低版本(Acrobat v5 或更低版本)的 PDF 版本,它似乎可以工作。查看文件似乎是因为 PDF 格式不同。
有解决方法或解决方案吗?我可能有 10 000 多个用户上传的 PDF,其中一些是新的,有些不是。FPDI 只是死掉而不是导致某种错误甚至返回 false 也很烦人
我现在能想到的唯一解决方案是解析 PDF 文件的第一行以确定版本,并且只添加那些可以工作的版本。
编辑:
我也在 Zend_Pdf 中进行了尝试,使用 Zend 框架附带的演示文件得到了以下结果:
Fatal error: Uncaught exception 'Zend_Pdf_Exception' with message 'Cross-reference streams are not supported yet.' in /Volumes/Documents/temp/ZendFramework-1.7.7/library/Zend/Pdf/Parser.php:331
Stack trace:
#0 /Volumes/Documents/temp/ZendFramework-1.7.7/library/Zend/Pdf/Parser.php(455): Zend_Pdf_Parser->_loadXRefTable('116')
#1 /Volumes/Documents/temp/ZendFramework-1.7.7/library/Zend/Pdf.php(297): Zend_Pdf_Parser->__construct('/Volumes/Docume...', Object(Zend_Pdf_ElementFactory_Proxy), true)
#2 /Volumes/Documents/temp/ZendFramework-1.7.7/library/Zend/Pdf.php(250): Zend_Pdf->__construct('/Volumes/Docume...', NULL, true)
#3 /Volumes/Documents/temp/ZendFramework-1.7.7/demos/Zend/Pdf/demo.php(37): Zend_Pdf::load('/Volumes/Docume...')
#4 {main}
thrown in /Volumes/Documents/temp/ZendFramework-1.7.7/library/Zend/Pdf/Parser.php on line 331
是否无法解析大于 1.4 的 PDF?