我构建了一个包含fpdf库的web应用程序,该应用程序允许客户端上传pdf文件,然后我的系统将其合并为月度报告(添加封面、内容页等)。
上个月我收到了这个错误:
FPDF错误:解压缩流时出错
我在谷歌上搜索过,以前遇到它的人似乎只有德国人!
错误处理程序位于fpdi_pdf_parser.php的第241行,它引用了"case'/FlateDecode':"和其他我不理解的内容。
我将问题追溯到一个看似正常但始终导致问题的pdf文件。我从旧的pdf文件中抓取屏幕,创建了一个新版本的pdf文件,当我上传时,一切都正常。
正如我所说,我绕过了这个问题,但并不真正理解如何解决,也不想再次遇到同样的事情。
你知道发生了什么事吗?
提前谢谢。
PDF文件可以用不同的算法以不同的方式压缩,如果您的应用程序打开以接收任何文件,则可能是您得到了FPDF无法解压缩的损坏文件。即使在这种情况下(我指的是损坏的文件),其他PDF解析器/阅读器也可以恢复文件并显示内容(或部分内容),但这并不意味着文件是有效的。
该文件也可能包含FPDF不支持的PDF规范中的某些特定功能。如果你可以选择发布有问题的文件,那么可能会进一步缩小问题范围。
通常在这种情况下帮助通过PHP安装或更新zlib模块。这个问题也是由于图片被插入到pdf文档中而产生的(请参阅上的图片要求http://www.fpdf.org/en/doc/image.htm)。