我的问题是在Acrobat Reader中打开的pdf,在ZF2上使用TCPDF创建。
文件创建正常(文件大小除外,大约500kb),内容很好,但在尝试关闭文件时,Acrobat会提示保存更改,但没有更改。保存文件并覆盖后,文件大小降至40kb左右。因此文件大小减少了10倍以上,但内容没有明显的变化或其他。
最接近我得到的任何相关答案是这个帖子http://forums.planetpdf.com/save-file-prompt-when-closing_topic36.html
据我所知,这个问题与“外部参照表格格式错误”有关,但我对pdf的体验还不足以理解我的问题根源。示例文件位于https://dl.dropboxusercontent.com/u/29072870/test_pdf.pdf
提前致谢!
答案 0 :(得分:2)
只有文件的前7036个字节构成了实际的pdf。此后的一切都是一些HTML代码。因此,您应该检查您的pdf创建代码,它似乎包含一些HTML创建代码(复制和粘贴的剩余部分?由框架添加?)。
Adobe Reader显示这些领先的7KB,并最终提供将它们保存为像Reader一样编码的修复文件(将这些7KB扩展到40KB)。
PS:我刚看到HTML代码之后还有大约80KB的空字节。
看起来您收到的整个字节缓冲区0x80000(= 154288十进制)字节大小包含您的PDF,一些HTML和一些尚未使用的空间。
答案 1 :(得分:0)
问题实际上还没有完全解决:)
现在这个问题变得更加奇怪了。在chrome上一切都很完美,创建pdf是可靠的,没有额外的数据。而在firefox中,pdf的输出很好,保存文件工作正常,用acrobat打开文件就好了,关闭产生相同的结果提示保存而不做任何更改。显然,文件末尾仍然存在空字节部分。在TCPDF输出中使用“下载为文件”选项时,结果是正确的,EOF后没有其他数据。只有当pdf在浏览器(firefox)中输出并从那里保存时才会发生。它可能是一些firefox的问题吗?可以检查文件中是否有这种多余的数据并以某种方式将其删除?