从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
注释备份到开始解析以找到字节偏移量的距离。
有什么想法吗?
答案 0 :(得分:1)
ISO 32000表示这些行应包含'startxref'和xref关键字的字节偏移量。因此,不允许发表评论。我检查了几个PDF解析器(itext,Xpdf和商业库)的源代码,并且所有这些解析器都在startxref + whitespace之后立即预期字节偏移。