7.7 文档结构
7.7.1 概述
PDF文档可以被认为是在PDF文件的body部分的对象层次结构。在文档中顶层(root)的对象是文档目录(catalog)字典对象。(具体请参见 7.7.2, “文档目录字典对象”)。
注意:在文档的抽象层次中多数的对象都是字典(dictionary)表示。在“第五章——PDF文档结构”中,说明了对象层次结构。
示例:文档中的每一页使用一个页面对象(字典对象)所表示。这个页面对象含有引用到这个页面的所有内容(contents)和其他的所有属性(attributes),比如说它的缩略图(具体参照 12.3.4,“缩略图”)和所有与该页面相关的所有注解对象(annotation)(具体参见12.5, “注解对象”)。单个的页面对象被合并到一个结构中就构成了页面树page tree(具体参见 7.7.3 页面树对象)。反过来页面树在文档目录字典对象(document catalog)被间接引用。抽象层次中的对象之间的父母层次的关系,子层次的关系和兄弟层次的关系,被定义为字典中的项(entry)。这些项被间接引用到其他的字典对象中。
本小节提到的数据结构,尤其是目录字典对象catalog和页面字典对象page,这些字典对象将描述文档结构的项(entry)与处理文档和页面的详细语义结合到一起。文档中的所有的项(entry)都在这被列出,但是许多它们的详细描述被延迟到后面小节再描述。
7.7.2 文档目录字典对象(catalog dictionary)
目录字典对象(catalog dictionary)是文档对象抽象层次中顶层对象,目录通过在PDF文件尾部(trailer,一个字典对象,具体请参考 7.5.5 “文件尾”)中的Root项定位。目录字典包含了引用到其它文档中对象,文档的内容(contents),大纲(outline),文章线程(article threads),命名目的地(named destinations)和其它属性。此外,目录对象包含了关于文档如何在屏幕上呈现的信息,例如文档的大纲和页面的缩略图是否应该被自动呈现,打开文档时是否应该显示除了第一页以外的某些位置。“表29——目录字典(caltalog dictionary)中项”,表明了字典中的项。
图1——PDF文档结构
表29——目录字典(catalog dictionary)中项
键名 | 类型 | 值 |
Type | name | [必须] 字典对象所描述的PDF对象的类型;字典中该值应该是Catalog。 |
Version | name | [可选;PDF1.4] 文件符合的PDF版本的版本号(例如,1.4),如果该版本晚于在文件头(header)中指定的版本,或如果没有设置该项,那么文档应该在文件的头(header)中的版本号一致(具体请参考 7.5.2,文件头)。该项允许PDF处理器使用增量更新升级版本号;请参考 7.5.6,“增量更新”。 |
Extensions | dictionary | [可选;ISO 32000-1]包含了开发者前缀识别符和本文档中出现的开发者扩展的版本号的扩展字典。7.12,“扩展字典”描述了该字典如何被使用。 |
Pages | dictionary | [必须;应该是一个间接引用] 页面树(page tree)应该是文档页面树的根(具体请参考 7.7.3,“页面树”)。 |
PageLabels | number tree | [可选;PDF 1.3]数字树(具体参考 7.9.7,“数字树”),用于定义文档的页面标签。数字树中的键应该是页面引索;其值应该是页面标签字典(page label dictionaries)(具体请参考 12.4.2,“页面标签”)。每一个页面引索应该表示指定页面标签字典适用的标签范围中的第一页。树应该包括一个页面引索0的值。 |
Names | dictionary | [可选;PDF 1.2] 文档名称字典(具体请参考 7.7.4,“名称字典”)。[PDF 2.0] 对于加密过的有效负载文档的未加密包装文档(具体请参考 7.6.7,“未加密包装文档”),名称字典是必须的,并且名称树中应该包含EmbeddedFiles这个名称。 |
Dests | dictionary | [可选;PDF 1.1;应间接引用] 名称(name)和对应的目的地(destinations)的字典(具体请参考 12.3.2.4,“名称目的地”)。 |
ViewerPreferences | dictionary | 文档查看者偏好字典(Viewer preferences,具体请参考 12.2,“文档查看者偏好字典”)指定了文档应该被屏幕上显示的方式。如果这个项没有设置,PDF 阅读器应该使用它们自己单签用户的偏好设置。 |
PageLayout | name | [可选] 打开文档时,应该被使用的布局的名称(name)对象:
默认值:SinglePage。 |
PageMode | name | [可选] 打开文档时,应该如何显示的名称对象:
默认值:UseNone。 |
Outlines | dictionary | [可选;应是间接引用] 大纲字典对象应是文档大纲抽象层次的顶层(root)。(具体请参考 12.3.3,“文档大纲”) |
Threads | array | [可选;PDF 1.1;应是间接引用] 线程字典数组,它们应表示文档文章线程(具体请参考 12.4.3,“文章”)。 |
OpenAction | array or dictionary | [可选;PDF 1.1] 指定要显示目的地的值或者打开文档时应执行的操作。该值应该是定义目的地的数组(destinations,具体请参考 12.3.2,“目的地”)或者表示操作的操作字典(action dictionary,具体请参考,12.6.2,“动作字典”)。如果这个项没有设置,文档应该被以默认的放大系数,在第一页的最上方打开。 |
AA | dictionary | [可选;PDF 1.4] 附加动作字典,定义了引用整个文档的各种触发事件应采取的动作。(trigger events,具体请参考 12.6.3,“触发事件”) |
URI | dictionary | [可选;PDF 1.1] 包含了URI操作的文档等级的信息的URI字典。 |
AcroForm | dictionary | [可选;PDF 1.2] 文档的交互式表单(AcroForm)字典(具体请参考 12.7.3,“交互式表单字典”)。 |
Metadata | stream | [可选;PDF 1.4;应是间接引用] 元数据流应该包含文档的元数据(具体请参考 14.3.2,“元数据流”) 。 Metadata - data about data,数据的数据,用于描述数据的信息。 |
StructTreeRoot | dictionary | [可选;PDF 1.3] 文档结构树的顶层(root)字典对象。 |
MarkInfo | dictionary | [可选;PDF 1.4] 标记信息,包含有关文档标记PDF约定的用法的信息。(具体请参考 14.7,“逻辑结构”) |
Lang | text string | [可选;PDF 1.4] 语言标识符,为文档中除了被结构元素(structure elements)的语言规范覆盖或标记内容(marked-content,具体请参考 14.9.2,“自然语言规范”)的所有文字指定自然语言。 |
SpiderInfo | dictionary | [可选;PDF 1.3] 网络捕获信息字典,应该包含了用于所有网络捕获扩展(Web Capture extension)的状态信息(具体请参考 14.10.2,“网络捕获信息字典”)。 |
OutputIntents | array | [可选;PDF 1.4] 输出意图字典的数组,应指定文档可能被渲染的输出设备的色彩集(具体请参考 14.11.5,“输出意图”)。 |
PieceInfo | dictionary | [可选;PDF 1.4] 与文档关联的页面字典。 |
OCProperties | dictionary | [可选;PDF 1.5;当文档包含了可选内容,则必需] 文档的可选内容属性字典(具体请参考 8.11.4,“配置可选内容”)。 |
Perms | dictionary | [可选;PDF 1.5] 权限字典,指用户对文档的访问权限。12.8.6,“权限”,描述了这个字典和如何使用它。 |
Legal | dictionary | [可选;PDF 1.5] 包含了关于PDF文档内容的证明的字典,因为它与电子签名的合法性有关(具体请参考 12.8.7,“证明内容合法”)。 |
Requirements | array | [可选;PDF 1.7] 需求字典的数组,它代表了文档的需求。12.11章节,“文档需求”,描述了这个字典和如何使用它。 |
Collection | dictionary | [可选;PDF 1.7] 交互式PDF处理器应用于增强存储在PDF文档中的文件附件显示的集合字典。(具体请参考 12.3.5,“集合”) [PDF 2.0] 对于加密过的文档的未加密包装文档的有效负载,Collection是必须的,并且应指定加密的有效负载作为集合的默认文档(由于D项指定),并且应进一步指定集合View最初应该为H(隐藏)。 |
NeedsRendering | boolean | [可选;在PDF2.0 过时] 用于加快显示包含XFA表单的PDF文档的标志符。它指定了在第一次打开文档时是否应该重新生成文档。具体请参考 附录K,“(规范的)XFA表单”。 默认值:false |
DSS | dictionary | [可选;PDF 2.0] 包含了文档级的安全信息的DSS字典。具体请参考 12.8.4.3,“文档安全存储(DSS)”。 |
AF | array of dictionarires | [可选;PDF 2.0] 一个或多个文件规格字典的数组(具体请参考 7.11.3, “文件规格字典”),用于表示这个PDF文档所关联的文件。更多信息请参考 14.13,“关联的文件”和14.13.3,“关联的文件链接到PDF文档的目录”。 |
DPartRoot | dictionary | [可选;PDF 2.0] DPartRoot字典用来描述这份PDF文档的文档部件的抽象层次。具体请参考 14.12,“文档部件”。 |
示例
下面展示文档目录字典对象的例子:
1 0 obj
<</Type /Catalog
/Pages 2 0 R
/PageMode /UseOutlines
/Outlines 3 0 R
>>
enobj
7.7.3 页面树(Page tree)
文档中的页面通过被称作页面树的结构(page tree)被关联到一起,页面树定义了页面在文档中顺序。使用树的结构,PDF阅读器使用有限的内存,能够快速的打开含有数千页的文档。页面树包含了两种类型的节点:
- 中间节点,被称作页面树节点(page tree nodes)
- 叶节点,被称作页对象(page object) 它们描述将在后面的子章节。
符合标准的PDF处理器应该准备好处理由这类节点构建的任何形式的树结构。
注意:最简单的页面树结构仅包含一个页面树节点,该节点直接引用了文档中所有的页面对象。然而,为了保证应用程序的性能,PDF写入器(writer)能以多种形式构建树,比如说平衡树(balanced trees)。更多构建树的信息能够在数据结构和算法中找到。如Aho,Hopcroft和Ullman。
7.7.3.2 页面树节点(Page tree nodes)
“表30——页面树中必须的项”显示页面树节点应该始终存在的项(必须)。
表30 页面树节点必需项
键名 | 类型 | 值 |
Type | name | [必需] 这个字典所描述的PDF对象的类型。对于页面树节点应是Pages。 |
Parent | dictionary | [除了根(root)节点之外必需;在根节点中不允许出现;应是间接引用] 这个页面树节点的直接父母节点。 |
Kids | array | [必需] 间接引用了该节点的直系孩子节点的数组。孩子节点应只能是页面对象(page object)或页面树节点(page tree nodes)。 |
Count | integer | [必需] 描述了在这个页面树节点中的叶节点(page object,页对象)的数量。 注意:页面的子节点数量可以从页面字典(Pages dictionary)中Kids的项的数组中精确推断出。Count项是冗余的。 PDF写入器应该确保该项的值应和Kids项的数组中的元素数量保持一致,并且 它明确的确定了子页面的数目。 |
注意 1:页面树的结构不一定与文档的逻辑结构有关。也就是说页面树节点不代表章节、小节等。为此目的定义了其他的数据结构;具体请参考 14.7,“逻辑结构”
PDF处理器不该需要保存已经存在的页面树结构。
例子:下面的说明了一个具有三个页面的文档的页面树。具体请参考 7.7.3.3,“页面对象”用于单个页面对象的内容,H.5中的页面树例子,用于更长的示例,显示更长文档的页面树。
2 0 obj
<</Type /Pages
/Kids [4 0 R
10 0 R
24 0 R
]
/Count 3
>>
endobj
4 0 obj
<</Type /Page
...Additional entries describing the attributes of this page...
>>
endobj
10 0 obj
<</Type /Page
...Additional entries describing the attributes of this page...
>>
endobj
24 0 obj
<</Type /Page
...Additional entries describing the attributes of this page...
>>
endobj
除了在“表30——页面树节点必需项”显示的项,页面树节点可能还有项来自于页对象继承(page object,具体请参考 7.7.3.4,“页面的继承属性属性”)。页面树不应该包含多个到同一个页面树点的间接引用。
注意 2:这个要求防止树种存在同一节点的多个副本
7.7.3.3 页对象(page object)
页面树的叶节点就是页面对象(page object),在每个页面对象是一个字典对象,它指定了这个页面上的属性。“表31——页面对象中的项”显示了这个字典对象的内容。在下面的 7.7.3.4,“页面继承的属性”中,标识了页面可以从页面树中祖先节点继承哪些属性。在表中,除非明确标识为可继承的属性,否则不应该被继承。
表31——页面对象中的项
键名 | 类型 | 值 |
Type | name | [必需] 描述这个字典对象表示的PDF对象的类型。对于页面对象或Template不可见得模板页面(具体请参考 12.7.7,“命名页面”),应该是Page。 |
Parent | dictionary | [必需;应该是间接引用] 这个页面对象的直接父母的页面树节点。模板类型(Template)对象不应有Parent键。 |
LastModified | date | [当PieceInfo存在时,必需;其他情况,可选;PDF 1.3]这个页面的内容最近一次修改的时间和日期(具体请参考 7.9.4,“日期”)。如果存在页面字典(PieceInfo),那么修改时间就是用于确定是哪一个应用程序对页面的当前内容所修改的时间。 |
Resources | dictionary | [必需;可继承] 包含了这个页面内容(contents)所需要的任意资源的字典。(具体请参考 7.8.3,“资源字典”)如果页面不需要资源,那么这个值应是空字典(empty dictionary)。如果忽略了该项,那么资源应该从页面树中的祖先节点中继承,在7.8.3“资源字典”中描述了PDF写入者(writers)不应使用这个方式共享资源。 |
MediaBox | rectangle | [必需;可继承] 以默认用户空间单位(user space unit)表示的矩形(具体请参考 7.9.5,“矩形”),应定义了在物理介质上显示或者打印的边界。(具体请参考 14.11.2,“页面边界”) |
CropBox | rectangle | [可选;可继承] 以默认用户空间单位(user space unit)表示的矩形(具体请参考 7.9.5,“矩形”),应定义了默认用户空间的可见区域。当页面被显示或者打印时,页面中的内容应该被这个区域裁减。(具体请参考 14.11.2,“页面边界”)。默认值是MediaBox的值。 注意 1:裁减后的页面输出通常以某种实现定义的方式放置(加强)在输出的介质上。 |
BleedBox | rectangle | [可选;PDF 1.3] 使用用户空间单位表示的矩形,应定义当输出到生产环境(production environment,具体请参考 14.11.2,”页面边界”)时页面的内容应该被裁减的区域。默认值是CropBox的值。 |
TrimBox | rectangle | [可选;PDF 1.3] 使用用户空间单位表示的矩形,应定义了在完成页面修建后页面预期的尺寸。(具体请参考 14.11.2,“页面边距”)默认值是CropBox的值。 |
ArtBox | rectangle | [可选;PDF 1.3] 使用用户空间单位表示的矩形,应定义了按照页面的创建者(page's creator,具体请参考 14.11.2,“页面边距”)的意图,页面中有意义的内容的程度(包括潜在的空白空间)。默认值是BropBox的值。 |
BoxColorInfo | dictionary | [可选;PDF 1.4] 盒式颜色信息字典,它应指定用于在屏幕上显示,不同类型的页面的边框的颜色和其他视觉特征。 |
Contents | stream or array | [可选] 内容流(content stream,具体请参考 7.8.2,“内容流”),它应描述在这一页中的内容。如果该项没有被设置,那么这个页面应该为空。 |
Rotate | integer | [可选;可继承] 在显示或打印时候,页面应该被顺时针选装的角度数。这个值应该是90的倍数。 默认值:0 |
Group | dictionary | [可选;PDF 1.4] 组属性字典,指定了页面的页面组的属性,用于在透明显示模式中使用。 |
Thumb | stream | [可选] 定义了页面缩略图的流对象。(具体请参考 12.3.4,“缩略图”) |
B | array | [可选;PDF 1.1;如果页面包含article beads时,推荐使用] 应包含所有在这个页面上出现的所有article beads(具体请参考 12.4.3,“文章”)的数组。bead应该按照原来的顺序在数组中列出。类型为模板(Template)的对象不应有B属性。 注意 2:在这个项(entry)的信息,能够用于包含了在目录字典(catalog dictionary)中的Threads键获取的信息,创建或者重新创建。 |
Dur | number | [可选;PDF 1.1] 页面显示的时间(也被称作页面的提前时间):在演讲模式(presentation)时,阅览器应用程序自动翻页到下一页之前(具体请参考 12.4.4,“演讲模式”),页面被显示最长时间,秒为单位。默认情况下,阅览器不该自动翻页。 |
Trans | dictionary | [可选;PDF 1.1] 过渡字典,描述了当使用演讲模式时过渡效果。(具体请参考 12.4.4,“演讲模式”) |
Annots | array | [可选] 注解(annotation)字典对象的数组,应该包含了与页面联系的所有注解对象的间接引用。(具体请参考 12.6.3,“注解”) |
AA | dictionary | [可选;PDF 1.2] 定义了当页面被打开或关闭时执行的操作的扩展操作字典(具体请参考 12.6.3,“触发事件”)。[PDF 1.3] 拓展操作字典不能被继承。 |
Metadata | stream | [可选;PDF 1.4] 包含了页面的元数据的元数据流。(metadata stream,具体请参考 14.3.2,“元数据流”) |
PieceInfo | dictionary | [可选;PDF 1.3] 与页面关联的页片(page-piece)字典。(具体请参考 14.5,“页片字典”) |
StructParents | integer | [如果页面包含结构化内容项(structural content item)时,必需;PDF 1.3] 在结构化父母树中页面的项的数字键(key)(具体请参考 14.7.5.4,“从内容项中寻找结果元素”) |
ID | byte string | [可选;PDF 1.3;首选为间接引用] 页面的父母的网络捕获(web capture)内容集的数字标识符(具体请参考 14.10.6,“网络捕获相关的对象属性”) |
PZ | number | [可选;PDF 1.3] 页面的首先缩放(放大)系数:应缩放以达到自然显示的放大倍数的系数。(具体请参考 14.10.6,“网络捕获相关的对象属性”) |
SeparationInfo | dictionary | [可选;PDF 1.3] 应包含了为页面生成“分色”所需的信息的分色字典。(Separation dictionary,具体请参考 14.11.4,“分离字典”) |
Tabs | name | [可选;PDF 1.5] 指定了用于页面上注解(annotation,具体请参考 12.5,“注解”)的Tab(tab)的顺序的名称(name)。可能的值应是R(以行为顺序),C(以列为顺序),和S(以结构为顺序)。从PDF 2.0开始,可能的值也包括了A(以注解数组的顺序为顺序)和W(以窗口小部件为顺序)。以注解数组为顺序(A),参考了在这个页面字典中的Annots项中列举的注解的顺序。(具体请参考 “表31——页面对象中的项”)。窗口小部件顺序意味着使用相同的数组排序,但是第一次遍历选择出窗口小部件注解,第二次遍历选出其他所有的注解。 |
TemplateInstantiated | name | [如果页面是使用命名的页面对象创建,则必需;PDF 1.5] 原始页面对象的名称。 |
PresSteps | dictionary | [可选;PDF 1.5] 代表了页面上第一个节点的导航节点字典。(具体请参考 12.4.4.2,“子页面导航”) |
UserUnit | number | [可选;PDF 1.6] 是1/72英寸倍数的正数,表默认用户单元的尺寸。该值的支持范围应与具体实现相关。默认值:1.0(表示用户单元是 1/72英寸) |
VP | array | [可选;PDF 1.6] 指定了页面矩形区域的视口字典的数组(具体请参考 “表265——视口字典中的项”) |
AF | array of dictionaries | [可选;PDF 2.0] 一个或多个与这个页面关联文件的文件规范字典组成的数组(具体请参考 7.11.3,“文件规范字典”)。更多信息请参考 14.13,“关联文件”和14.13.8,“链接到DPart的关联文件”。 |
OutputIntents | array | [可选;PDF 2.0] 输出意向的字典的数组,该数组的元素指定了这个页面可能在渲染时候,输出到设备的颜色集。 |
DPart | dictionary | [如果页面包含了DPart部分时,则必需;其他情况不需要;PDF 2.0] 到DPart字典的间接引用,它的页面方位包括了这个页面对象(具体请参考 14.12.3,“连接DPart树结构到页面”)。 |
例子:下面的例子定义了一个含有有个注解的页面对象。MediaBox指定了这个页面将被打印到信值大小的纸上。此外,资源(resource)字典是一个直接对象,该字典显示了这个页面使用到的名为F3、F5、F7三个字体。
3 0 obj
<</Type /Page
/Parent 4 0 R
/MediaBox [0 0 612 792]
/Resource <</Font <</F3 7 0 R
/F5 9 0 R
/F7 11 0 R
>>
>>
/Contents 12 0 R
/Annots [23 0 R
24 0 R
]
>>
endobj
一个页面树不该包含对同一个页面对象的重复引用。
注意:这样防止了在页面树同一个页面被多重复制。
7.7.3.4 页面的继承属性
在“表31——页面对象的项”显示了一些页面属性被设计可以被继承。如果在页面对象中某个可继承属性缺失(没有设置),那么这属性的值应从这个页面树中的祖先节点中继承。如果这个属性是必需属性,那么这个属性的值应由祖先节点提供。如果这个属性是可选的并且没有继承到值,那么应该使用默认值。
因此,可以通过在中间树节点中指定一个属性,并将需要共享这个属性的页面为中间页面的后代,来共享这个属性。这样就可以在一系列的页面只定义一次这个属性。
例子:一个文档可能会通过包含在页面树的根节点中的MediaBox项,为它所有的页面指顶相同的media box。如果需要,一个页面对象可以通过它自己的MediaBox项,复写这个继承到的值。
所有的值都因该按原样被继承,不能被合并,即使是符合数据类型如:数组和字典。因此(至少概念上)页面的资源(Resource)字典应通过搜索页面对象和该页面对象的中的父母(Parent,P)项链接到的在页面树中的页面对象,不断向上直到目录对象(Catalog object)的方式来寻找。当第一个资源字典被找到,应停止搜索,并且这个被找到的资源字典应作为该页面的资源(Resource)的项。
在符合线性化的PDF(具体请参考 附录 F,“线性化的PDF(规范)”和附录 G,“线性化的PDF访问策略(信息)”)文档中,所有页的使用到的属性应明确的为这个页字典(page dictionary)中被项(entry);这些属性不该通过祖先节点继承得到。
“图6——继承属性”说明了属性的继承。这个页面树显示了,Page1,2和4顺时针旋转90°,Page 3 顺时针旋转270°,Page 6 顺时针旋转180°,Page 5和7没有旋转(0°)。
图6——继承属性
7.7.4 名称字典
在PDF文件中某些类型对象可以通过名称(name)识别而不是通过对象引用。该种方式是通过文档的名称字典(name dictionary,PDF 1.2)来建立名称和对象的对应关系,它通过在文档的目录字典(catalog dictionary,具体请参考 7.7.2,“文档目录字典”)中Names项的值来定位。每个名称字典中的项是定义了特定类型对象的名称的名称树的根(root)。“表32——名称字典中的项”显示了名称字典的内容。
表32——名称字典中的项
键名 | 类型 | 值 |
Dests | name tree | [可选;PDF 1.2] 将名字字符串映射到目的地(destination,具体请参见 12.3.2.4,“名称目的地”)的名称树。 |
AP | name tree | [可选;PDF 1.3] 将名字字符串映射到注解外观流(annotation appearance streams,具体请参见 12.5.5,“注解流”)的名称树。 |
JavaScript | name tree | [可选;PDF 1.3] 将名字字符串映射到文档级别的ECMAScript操作上(具体请参考 12.6.4.17,“ECMAScript 操作”)的名称树。 |
Pages | name tree | [可选;PDF 1.3] 将名字字符串映射到可见页面的名称树,以便在交互式表单中使用。(具体请参考 12.7.7,“名称页面”) |
Templates | name tree | [可选;PDF 1.3] 将名字字符串映射到不可见(Template模板)页面的名称树,以便在交互式表单中使用(具体请参考 12.7.7,“名称页面”)。 |
IDS | name tree | [可选;PDF 1.3] 将数字标识符映射到的于Web Capture内容集的名称树(具体请参考 14.10.4,“内容集”)。 |
URLS | name tree | [可选;PDF 1.3] 将同一资源定位符(URLs)映射到Web Capture集(具体请参考 14.10.4,“内容集”)。 |
EmbeddedFiles | name tree | [可选;PDF 1.3] 将名称字符串映射到嵌入文件流的文件文件规范(具体请参考 7.11.4,“嵌入文件流”)。在这个名称树字典中的所有的文件规范字典应包含一个名为EF的键。EF的值是一个包含了F或UF的键字典,F或UF键的值应该是一个嵌入的文件流。 [PDF 2.0] 对于加密过有效负载的文档的未加密包装的文档(具体请参考 7.6.7,“未加密包装的内容”),在这个名称树中提供的名称字符串,不该包含或来自于加密过有效负载的文档的实际文件名。这是为了防止原始文件名中的,部分潜在的铭感信息泄露。所以名称字符串应在文件规范(File Specification)字典中匹配值F或UF的值。 |
AlternatePresentations | name tree | [可选;PDF 1.4;在PDF 2.0中过时] 将名称字符串映射到alternate presentation的名称树(具体请参考 13.5,“Alternate presentations”)。 |
Rendition | name tree | [可选;PDF 1.5] 将名称字符串映射到Rendition object(具体请参考 13.2.3,“Renditions”)的名称树。 |