【问题标题】:Trying to annotate a PDF with XREF streams尝试使用 XREF 流注释 PDF
【发布时间】:2013-02-20 17:33:39
【问题描述】:

我有这个示例 PDF 文件:

Original file

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

Annotated file

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

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

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

【问题讨论】:

    标签: pdf pdf-generation pdf-parsing


    【解决方案1】:

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

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

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

    【讨论】:

    • 就是这样!有时你就是只见树木不见森林!
    猜你喜欢
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多