(五)pdf的构成之文件体(catalog对象)

引自:https://blog.csdn.net/steve_cui/article/details/82735039

目录(catalog):

文档目录包含对定义文档内容的其他对象的引用。它还包含声明文档在屏幕上显示方式的信息


 

属性:

KeyTypeValue
Type name (必需)此字典描述的PDF对象的类型;必须是“Catalog ”。
Version name (可选; PDF 1.4)指定文档符合的PDF规范的版本(例如:1.4),高于文件头中指定的版本。 如果文件头指定更高版本,或者条目不存在,则文档应按符合文件头中指定的版本。 此条目用于增量更新时,来更新版本。此条目的值应为名称对象,而不是数字,因此在PDF文件中写入时应以字符(/)开头(例如:/ 1.4)。
Extensions dictionary (可选; ISO 32000)用于标识扩展的版本号的扩展字典。
Pages dictionary (必需;应为间接引用)页面树节点,它应是文档页面树的根节点。
PageLabels number tree (可选; PDF 1.3)一个数字树(number trees,其他章节会讲到),用于定义文档的页面标签。 该树中的键应为页面索引; 相应的值应为页面标签字典(其他章节会讲到)。 每个页面索引应表示指定页面标签字典适用的标签范围中的第一页。 树应包含页面索引”0”的值。
Names dictionary 文档的名称字典(其他章节会讲到)
Dests dictionary (可选; PDF 1.1;应为间接引用)名称和相应目的地的字典(见”Named Destinations”)。
ViewerPreferences dictionary (可选; PDF 1.2)查看器首选项词典(参”Viewer Preferences”),指定文档在屏幕上的显示方式。 如果此条目不存在,符合条件的读者应使用自己当前的用户首选项设置。
PageLayout name (可选)打开文档时,应使用指定页面布局的名称对象,见“PageLayout ”
PageMode name (可选)一个名称对象,指定打开时文档的显示方式,见“PageMode”
Outlines dictionary (可选;应为间接引用)大纲字典,它应是文档大纲层次结构的根(见“书签 outlines”)。
Threads array (可选; PDF 1.1;应为间接引用)一个线程字典数组,它们代表文档的文章线程(见“Threads ”)。
OpenAction array or dictionary (可选; PDF 1.1)指定要显示的目的地的值或打开文档时应执行的操作的值。 该值应该是定义目标的数组(“Destinations”)或表示动作的动作字典(“Actions”)。 如果没有此条目,则文档应以默认放大系数打开到第一页的顶部。
AA dictionary (可选; PDF 1.4)附加操作字典,用于定义响应影响整个文档的各种触发事件时应采取的操作(见“Trigger Events 触发事件”)。
URI dictionary (可选; PDF 1.1)包含URI(统一资源标识符)操作的文档级信息的URI字典(请参阅“Action动作中的URI action”)。
AcroForm dictionary (可选; PDF 1.2)文档的交互式表单(AcroForm)字典(参见“Interactive Form Dictionary 交互式表格字典”)。
Metadata stream (可选; PDF 1.4;应为间接引用)元数据流,其中应包含文档的元数据(请参阅“Metadata Streams元数据流”)。
StructTreeRoot dictionary (可选; PDF 1.3)文档的结构树根词典(参见“Structure Hierarchy结构层次结构”)
MarkInfo dictionary (可选; PDF 1.4)标记信息字典,其中应包含有关文档使用“Tagged PDF”约定的信息(请参见“Logical Structure逻辑结构”)。
Lang text string (可选; PDF 1.4)语言标识符,应指定文档中所有文本的自然语言,除非被结构元素或标记内容的语言规范覆盖(见“Natural Language Specification 自然语言规范”)。 如果没有此条目,则该语言应被视为未知。
SpiderInfo dictionary (可选; PDF 1.3)Web Capture信息字典,应包含任何Web Capture扩展使用的状态信息(请参阅“Web Capture信息字典”)。
OutputIntents array (可选; PDF 1.4)output intent 字典数组,应指定可在其上呈现文档的输出设备的颜色特征(请参阅“output intent”)。
PieceInfo dictionary (可选; PDF 1.4)与文档关联的页面字典(参见“Page-Piece Dictionaries”)。
OCProperties dictionary (可选; PDF 1.5;文档包含可选内容时必需)文档的可选内容(optional content)属性字典(请参见“Configuring Optional Content配置可选内容”)。
Perms dictionary (可选; PDF 1.5)权限字典,应指定文档的用户访问权限。 (参见“Permissions权限”,描述了这本词典及其使用方法。)
Legal dictionary (可选; PDF 1.5)一种字典,应包含有关PDF文档内容的证明,因为它与数字签名的合法性有关(见“Legal Content Attestations法律内容证明”)。
Requirements array (可选; PDF 1.7)一系列需求词典,它们代表文档的要求。 (参见“Document Requirements 文档要求”,描述了这本词典及其使用方法。)
Collection dictionary (可选; PDF 1.7)用于增强PDF文档中存储的文件附件的显示的集合字典。 (见“Collections汇集”)。
NeedsRendering boolean (可选; PDF 1.7)用于加速显示包含XFA表单的PDF文档的标志。 它指定在首次打开文档时是否应重新生成文档。默认值:false。
JT dictionary (对于JTF文件是必需的。对于PDF文件是可选的。)JobTicket对象(见 “JobTicket对象”)。

 

例子:

494 0 obj
<<
/AcroForm 498 0 R
/Extensions<</ADBE<</BaseVersion/1.7/ExtensionLevel 3>>>>
/JT 481 0 R
/LastModified(D:20020610121309)
/MarkInfo<</LetterspaceFlags 0/Marked true>>
/Metadata 482 0 R
/Names 499 0 R
/OpenAction[500 0 R/XYZ null null null]
/Outlines 36 0 R                              //连接对象号:36
/PageLabels 476 0 R                          
/PageMode/UseNone                             //页面显示类型:
/Pages 478 0 R                              //页面树对象号:478
/PieceInfo<</MarkedPDF<</LastModified(D:20020610121309)>>>>
/StructTreeRoot 61 0 R
/Threads 495 0 R
/Type/Catalog                              //对象类型:目录对象
>>
endobj
posted @   大黄蜂_001  阅读(1585)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示