Acrobat Reader 在关闭 pdf 文件时提示保存它(使用 TCPDF 创建)


Acrobat Reader prompt saving pdf file when closing it (created with TCPDF)

我的问题是在 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

提前感谢!

只有文件的前 7036 个字节构成您的实际 pdf。之后的所有内容都是一些HTML代码。因此,您应该检查您的pdf创建代码,它似乎包含一些HTML创建代码(复制粘贴的剩余代码?框架也添加?

Adobe Reader 显示这些领先的 7KB,并最终提供将它们保存为修复文件,就像 Reader 喜欢的那样编码(将这 7KB 分解为 40KB)。

PS:我刚刚看到在HTML代码之后还有大约80KB的空字节。

看起来您收到了一个大小为0x80000(= 524288十进制)字节的整字节缓冲区,其中包含您的 PDF、一些 HTML 和一些尚未使用的空间。

问题实际上还没有完全解决:)

这个问题现在变得更加奇怪了。 在Chrome上,一切都很完美,创建的PDF是可靠的,没有额外的数据。 而在 Firefox 中,PDF 的输出很好,保存文件工作正常,使用 Acrobat Fine 打开文件,关闭会在提示保存时产生相同的结果,而无需进行任何更改。 显然,文件末尾仍然存在空字节部分。 使用"下载为文件"时选项在 TCPDF 输出中结果是正确的,EOF 后没有其他数据。仅当 PDF 在浏览器 (Firefox) 中输出并从那里保存时才会发生。可能是火狐的问题吗?可以检查文件中是否存在这种多余的数据并以某种方式将其删除吗?