1

我有这个示例 PDF 文件:

原始文件

我试图附加一个文本注释,结果如下:

注释文件

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

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

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

4

1 回答 1

2

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

阅读 ISO-32000-1 的第 7.5.8 节,标题为“Cross-Reference Streams”:

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

于 2013-02-20T21:10:46.807 回答