Acrobat Reader想重新设计我的PDF文件

Acrobat Reader想重新设计我的PDF文件,pdf,pdf-generation,Pdf,Pdf Generation,我正在制作自己的PDF解析器/生成器。目前,我能够解析现有的PDF文件,甚至可以基于早期解析的数据生成新的PDF。但问题是,当我打开一个新的PDF文件(由我的解析器/生成器生成)时,Adobe Reader希望重新设计文档(当我关闭文档阅读器时,建议我存储“已更改的文档”)。当我的文档内部结构不正确时,我就遇到了这样的问题。但使用最新版本的解析器,我看不到文件结构中有任何问题,需要询问“PDF专家”。我应该说,我通过在线PDF检查工具和Adobe Reader Pro内部进行了PDF结构检查。此

我正在制作自己的PDF解析器/生成器。目前,我能够解析现有的PDF文件,甚至可以基于早期解析的数据生成新的PDF。但问题是,当我打开一个新的PDF文件(由我的解析器/生成器生成)时,Adobe Reader希望重新设计文档(当我关闭文档阅读器时,建议我存储“已更改的文档”)。当我的文档内部结构不正确时,我就遇到了这样的问题。但使用最新版本的解析器,我看不到文件结构中有任何问题,需要询问“PDF专家”。我应该说,我通过在线PDF检查工具和Adobe Reader Pro内部进行了PDF结构检查。此外,我发现的所有现有PDF解析器都可以毫无问题地解析我的PDF。我唯一的问题是AdobeReader

因此,我有两个文件:

  • )
  • ) 事实上,“次要PDF”是初始PDF的简单副本,内部PDF结构略有变化。当然,所有“外部参照”偏移也都已更改。这两个文件都非常简单,只有18个内部对象,其中大多数是字体对象。“第二个PDF”是Adobe Reader认为有缺陷的PDF


    如果有人能给我一个指向PDF文件的任何读者特定规则的链接(如果您有),我将不胜感激。

    在_secondary.PDF中的交叉引用表中的条目只有19个字节,而不是预期的20个字节

    每个条目的长度应正好为20字节,包括行尾标记

    您并不是唯一一个生成此类文件的人,这就是为什么大多数读卡器/解析器都集成了回退功能,或者根本不考虑20字节的计数


    无论如何,此文件应标记为已损坏(Acrobat所做的),因为它需要手动解析交叉引用表或完整文件。在这种情况下,解析器无法使用固定的条目大小直接跳转到交叉引用表中的对象偏移量定义。

    非常感谢,Jan!这个问题很小(一个字节的差异),但我花了很多时间来解决它。希望别人会想念我的错误。