首页 文章

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

提问于
浏览
1

我正在制作自己的PDF解析器/制作者 . 目前,我能够解析现有的PDF文件,甚至可以根据早期解析的数据制作新的PDF . 但问题是,当我打开一个新的PDF文件(由我的解析器/制造商制作)时,Adobe Reader想重新设计文档(当我关闭文档时,Reader建议我存储“已更改的文档”) . 当我的文档内部结构不正确时,我遇到的这个问题 . 但是对于我的解析器的最新版本,我在文件结构中看不到任何问题,需要问一个“PDF大师” . 我应该说我通过在线PDF检查工具和Adobe Reader Pro内部进行PDF结构检查 . 我发现的所有现有PDF解析器都可以毫无问题地解析我的PDF . 我唯一的问题是使用Adobe Reader .

所以,我有两个文件:

实际上,“辅助PDF”是初始PDF的简单副本,内部PDF结构稍有变化 . 当然,所有“外部参照”偏移也都有所改变 . 这两个文件都非常简单,只有18个内部对象,大多数都是字体对象 . “第二PDF”是被Adobe Reader视为错误的PDF .

如果有人可以给我链接任何特定于Reader的PDF文件规则(如果有的话),我们将非常感激 .

1 回答

  • 1

    _secondary.pdf中交叉引用表中的条目长 only 19 bytes 而不是 20 bytes 如预期:

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

    你并不是唯一一个生成这种文件的人,这就是为什么大多数读者/解析器都集成了回退或者完全忽略了20个字节数的原因 .

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

相关问题