PDF解析文件预告片

时间:2010-05-24 16:55:59

标签: pdf parsing

从PDF ISO标准文档(PDF32000-2008)中不清楚评论是否可以跟startxref关键字一起:

startxref
Byte_offset_of_last_cross-reference_section
%%EOF

该标准似乎暗示评论可能出现在任何地方:

  

7.2.3评论

     

字符串或流外的任何PERCENT SIGN(25h)都会引入注释。注释由PERCENT SIGN之后的所有字符组成,最多但不包括行的结尾,包括常规,分隔符,SPACE(20h)和HORZONTAL TAB字符(09h)。符合条件的读者应忽略注释,并将其视为单个空白字符。也就是说,注释将它前面的标记与它后面的标记分开。

     

示例此示例中的PDF片段在语法上仅等同于令牌abc和123.

abc% comment ( /%) blah blah blah
123
  

评论(%PDF-n.m和。%除外)   %% EOF注释在7.5中描述,“文件   结构“)没有语义。他们   不一定保留   编辑PDF文件的应用程序。

如果允许它们出现在startxref之后,则解析文件会变得更加困难,因为您不知道从%%EOF注释备份到开始解析以找到字节偏移量的距离。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

ISO 32000表示这些行应包含'startxref'和xref关键字的字节偏移量。因此,不允许发表评论。我检查了几个PDF解析器(itext,Xpdf和商业库)的源代码,并且所有这些解析器都在startxref + whitespace之后立即预期字节偏移。