我有一个运行PDFlib程序的PHP应用程序来生成PDF。版本6已经运行很长时间了。我们即将更换服务器并决定升级到所有软件的最新版本。
嗯,使用PDFlib创建PDF的程序部分现在使得Acrobat认为的#c;腐败且无法修复的PDF。"奇怪的是,Firefox使用Adobe插件打开文件就好了。通用的Ubuntu PDF查看器也是如此。但是当我下载PDF并尝试在Acrobat Reader或完整版的Acrobat中打开它时,它说该文件已损坏且无法修复。
有没有人见过这个,或者你知道我应该从哪里开始看吗? Firefox和Ubuntu可以读取它的事实告诉我它不会被破坏。事实上,对于那些拥有所有图形和不同颜色的文本和字体以及所有内容的读者而言,它看起来非常好。它必须是愚蠢的东西。
编辑:
好的,我删除了生成坏PDF的PHP文件,除了" 开始文档"," 开始页面& #34;," 结束页"," 结束文件"并没有错误。然后我添加了一个背景图像加载,发现了第一个问题。
$bgImageUrl = $_SERVER['DOCUMENT_ROOT'] ."path/to/fadedBG2.png";
$bgImageData = file_get_contents($bgImageUrl);
$p->create_pvf("/pvf/bgImageData", $bgImageData, "");
$bgImage = $p->load_image("auto", "/pvf/bgImageData" , "");
最后一行导致文件损坏。我几乎直接从pdfLib网站上复制了这段代码,所以我不确定这里发生了什么。
答案 0 :(得分:0)
感谢一些支持人员,我找到了一种方法来完成这项工作。添加"兼容性= 1.4"到这样的begin_document()调用:
$p->begin_document("", "compatibility=1.4")
解决问题。
根据pdflib支持人员的说法,软件版本之间的PDF格式发生了很多变化。因此,添加兼容性指令会强制程序使PDF向后兼容。