如何在解析PDF数据时考虑语法空白?

问题描述 投票:0回答:1

我的问题是关于pdf文件中使用的语法。文档(PDF32000_2008.pdfpdf_reference_1-7.pdf)说明了什么是空格:

白色空间的特征 将PDF语法结构(如名称和数字)彼此分开的字符;空白字符是水平标签(09h),LINE FEED(0Ah),FORM FEED(0Ch),CARRIAGE RETURN(0Dh),SPACE(20h); (见7.2.2中的表1,“字符集”)

注意:请注意,空格是指pdf文件的数据/内容(即使用编辑器qazxsw poi打开时)而不是呈现的演示文稿(即在pdf阅读器中查看时)

据我所知,这意味着这是一个有效的PDF对象

vim

1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj 类型的两个对象之间:(name)/Type有一个/Catalog字符,满足引用的目的“分离[这两个] PDF语法结构”。

然而事实证明,我能够省略空白,同时仍然产生相同的渲染结果(在SPACE (20h)pdf.js程序中)。因此,我的问题是这是上面显示的代码的等效替代

evince
parsing pdf syntax whitespace
1个回答
1
投票

是的,这是合法的。

在描述空格字符后,您会发现以下内容:(强调添加)

分隔字符1 0 obj << /Type/Catalog/Pages 2 0 R>> endobj ()<>[]{}/都很特别。它们分隔语法实体,如字符串,数组,名称和注释。这些字符中的任何一个都会终止其前面的实体,并且不包含在实体中。

所以你在%之前不需要空格。

© www.soinside.com 2019 - 2024. All rights reserved.