尝试使用XREF流注释PDF

时间:2013-02-20 17:33:39

标签: pdf pdf-generation pdf-parsing

我有这个示例PDF文件:

Original file

我尝试将文本注释附加到其中,结果是:

Annotated file

但是,MAC OSX上的预览仍会显示没有新注释的文档,其中Adobe Reader甚至无法打开带注释的文档,说明:

  

打开此文档时出错。文件已损坏,无法修复。

我很幸运,直到现在注释其他具有“经典XREF表”而不是编码表的文件。 但是,编写我自己编码的XREF流似乎不起作用。 我很确定我的溪流还可以,但它仍然可能是我想念的其他东西吗?

1 个答案:

答案 0 :(得分:2)

我不知道你用哪个软件添加注释,但是你应该把它扔掉而不再使用它。为什么?因为它不会在预告片中添加startxref条目,因此违反了ISO-32000-1。即使是带有压缩交叉引用表的文件也需要这样的条目。

阅读标题为“交叉引用流”的ISO-32000-1的第7.5.8节:

  

startxref关键字后面的值应该是交叉引用流的偏移量而不是   xref关键字。对于完全使用交叉引用流的文件   (即,不是混合引用文件的文件),关键字xref和预告片不再是   用过的。因此,除了startxref地址,%% EOF段和注释之外,文件可能完全是一个序列   对象。