pdf生成-尝试用XREF流注释pdf



我有这个示例PDF文件:

原始文件

我试图在上面添加一个文本注释,结果是:

注释文件

然而,MAC OSX上的预览仍然显示没有新注释的文档,Adobe Reader甚至无法打开注释文档,声明:

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

到目前为止,我很幸运地注释了其他具有"经典XREF表"而非编码表的文件。然而,编写我自己的编码XREF流似乎不起作用。我很确定我的流是可以的,但它仍然可能是我缺少的其他东西?

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

阅读ISO-32000-1题为"交叉参考流"的第7.5.8节:

startxref关键字后面的值应为交叉引用流的偏移量,而不是xref关键字。对于完全使用交叉引用流的文件(即,不是混合参考文件的文件),关键字xref和拖车将不再是习惯于因此,除了startxref地址、%%EOF段和注释之外,文件可能完全是对象。

最新更新