7.12 扩展字典¶
Extensions Dictionar
7.12.1 概述¶
General
扩展字典是文档目录字典中的一个条目,如果存在,应包含一个或多个条目,用于识别开发者定义的扩展到ISO 32000-1标准。扩展字典可能包含一个可选的Type条目,其值是Extensions这个名字。扩展字典中的键应仅由开发者使用的扩展的注册前缀组成,这些前缀在附录E中描述。值应是开发者扩展字典,指定开发者定义的版本信息,如表50所示。扩展字典、扩展字典中的所有开发者扩展字典条目以及它们的条目都应是直接对象(即,这些信息应直接嵌套在目录字典内,不使用间接对象)。
The extensions dictionary, an entry in the document’s catalog dictionary, if present, shall contain one or more entries identifying developer-defined extensions to the ISO 32000-1 Standard. An extensions dictionary, not shown, may optionally contain a Type entry whose value is the name Extensions. The keys in the extensions dictionary shall be names consisting only of the registered prefixes, described in Annex E, of the developers whose extensions are being used. The values shall be developer extensions dictionaries specifying developer- defined version information as shown in Table 50. The extensions dictionary, all developer extensions dictionary entries in the extensions dictionary, as well as their entries, all shall be direct objects (i.e., this information shall be nested directly within the catalog dictionary with no indirect objects used).
7.12.2 开发人员扩展词典¶
Developer Extensions Dictionary
Table 50描述了开发者扩展字典中的条目。
键名 | 类型 | 值 |
---|---|---|
Type | name | (可选) 描述该字典所对应的 PDF 对象的类型;如果存在,应为 DeveloperExtensions。 |
BaseVersion | name | (必需) 适用于此扩展的 PDF 版本的名称。该名称应与目录字典中 Version 条目(见 7.7.2,“文档目录”)使用的语法一致。 |
ExtensionLevel | integer | (必需) 开发者定义的整数,用于表示正在使用的扩展。如果开发者为给定的 BaseVersion 引入多个扩展,那么由该开发者分配的扩展级别编号将随时间增加。 |
Table 50 describes the entries in a developer extensions dictionary.
Key | Type | Value |
---|---|---|
Type | name | (Optional) The type of PDF object that this dictionary describes; if present, shall be DeveloperExtensions. |
BaseVersion | name | (Required) The name of the PDF version to which this extension applies. The name shall be consistent with the syntax used for the Version entry of the catalog dictionary (see 7.7.2, “Document Catalog”). |
ExtensionLevel | integer | (Required) An integer defined by the developer to denote the extension being used. If the developer introduces more than one extension to a given BaseVersion the extension level numbers assigned by that developer shall increase over time. |
7.12.3 基本版本¶
BaseVersion
BaseVersion 的值应为一个名称,并且应与目录字典中 Version 条目的值(参见 7.7.2,“文档目录”)的语法一致。BaseVersion 的值,在作为版本号处理时,应小于或等于 PDF 文件的版本号,包括文档头部(见 7.5.2,“文件头部”)和目录中 Version 键值(如果存在)的版本号。BaseVersion 的值可以与文档头部的版本号或目录中 Version 键提供的版本号不同。这是因为它反映了已扩展的标准版本,而不是这个特定文件的版本。
NOTE 1
BaseVersion 的值不应解释为实数,而应视为两个整数之间带有一个点号(2Eh)。
The value of the BaseVersion entry shall be a name and shall be consistent with the syntax used for the Version entry value of the catalog dictionary (see 7.7.2, “Document Catalog”). The value of BaseVersion, when treated as a version number, shall be less than or equal to the PDF version, both in the document header (see 7.5.2, “File Header”) and the catalog Version key value, if present. The value of BaseVersion may be different from the version number in the document header or that supplied by the Version key in the Catalog. This is because it reflects the version of the standard that has been extended and not the version of this particular file.
NOTE 1
The value of BaseVersion is not to be interpreted as a real number but as two integers with a PERIOD (2Eh) between them.
7.12.3 扩展级别¶
ExtensionLevel
ExtensionLevel 条目的值应是一个整数,该整数应相对于 BaseVersion 值进行解释。如果开发者针对相同的 BaseVersion 值发布了多个扩展,则它们应按时间顺序排列,并且 ExtensionLevel 数字应是随时间单调递增的序列。
EXAMPLE 1
%PDF–1.7
<</Type /Catalog
/Extensions
<< /ADBE
<</BaseVersion /1.7
/ExtensionLevel 3
>>
>>
>>
EXAMPLE 2
%PDF–1.7
<</Type /Catalog
/Extensions
<< /GLGR
<</BaseVersion /1.7
/ExtensionLevel 1002
>>
>>
>>
EXAMPLE 3
%PDF–1.7
<</Type /Catalog
/Extensions
<< /ADBE
<</BaseVersion /1.7
/ExtensionLevel 3
>>
/GLGR
<</BaseVersion /1.7
/ExtensionLevel 1002
>>
>>
>>
The value of the ExtensionLevel entry shall be an integer, which shall be interpreted with respect to the BaseVersion value. If a developer has released multiple extensions against the same BaseVersion value, they shall be ordered over time and the ExtensionsLevel numbers shall be a monotonically increasing sequence over time.
EXAMPLE 1
%PDF–1.7
<</Type /Catalog
/Extensions
<< /ADBE
<</BaseVersion /1.7
/ExtensionLevel 3
>>
>>
>>
EXAMPLE 2
%PDF–1.7
<</Type /Catalog
/Extensions
<< /GLGR
<</BaseVersion /1.7
/ExtensionLevel 1002
>>
>>
>>
EXAMPLE 3
%PDF–1.7
<</Type /Catalog
/Extensions
<< /ADBE
<</BaseVersion /1.7
/ExtensionLevel 3
>>
/GLGR
<</BaseVersion /1.7
/ExtensionLevel 1002
>>
>>
>>