我有这个示例PDF文件:
我尝试将文本注释附加到其中,结果是:
但是,MAC OSX上的预览仍会显示没有新注释的文档,其中Adobe Reader甚至无法打开带注释的文档,说明:
打开此文档时出错。文件已损坏,无法修复。
我很幸运,直到现在注释其他具有“经典XREF表”而不是编码表的文件。 但是,编写我自己编码的XREF流似乎不起作用。 我很确定我的溪流还可以,但它仍然可能是我想念的其他东西吗?
答案 0 :(得分:2)
我不知道你用哪个软件添加注释,但是你应该把它扔掉而不再使用它。为什么?因为它不会在预告片中添加startxref条目,因此违反了ISO-32000-1。即使是带有压缩交叉引用表的文件也需要这样的条目。
阅读标题为“交叉引用流”的ISO-32000-1的第7.5.8节:
startxref关键字后面的值应该是交叉引用流的偏移量而不是 xref关键字。对于完全使用交叉引用流的文件 (即,不是混合引用文件的文件),关键字xref和预告片不再是 用过的。因此,除了startxref地址,%% EOF段和注释之外,文件可能完全是一个序列 对象。