PDF 文档可被视为 PDF 文件正文部分所包含的对象层次结构。在层次结构的根部,是文档目录字典,可通过 PDF 文件的尾注中的 Root 条目定位。目录包含对定义文档内容、大纲、文章线索、已命名目标和其他属性的其他对象的引用。
PDF文档的结构
1,目录字典的必选条目:
1)Type,此字典描述的 PDF 对象类型,对于目录字典,应为 Catalog。
2)Pages,应是文档页面树的根的页面树节点。
目录字典的几个重要可选条目:
1)PageLayout, 一个名称对象,指定在打开文档时应使用的页面布局,SinglePage,OneColumn,TwoColumnLeft等
2)PageMode, 一个名称对象,指定在打开文档时应如何显示它,UseOutlines 文档大纲可见,UseThumbs 缩略图可见
3)Outlines, 大纲字典,应作为文档的大纲层次结构的根
4)Metadata,一个元数据流,应包含文档的元数据
2,页面树 ,访问文档的页面,该结构定义了文档中的页面顺序。树包含两种类型的节点:中间节点(称为页面树节点)和叶节点(称为页对象) 。
页面树节点的必选条目:
1)Type,此字典描述的 PDF 对象的类型,对于页面树节点,应为page。
2)Parent,作为此节点的直接父节点的页面树节点。
3)Kids,对此节点的直接子节点的间接引用数组。子节点仅应是页对象或其他页面树节点。
4)Count,页面树中此节点的后代叶节点(页对象)数量。
3,页对象,页面树的树叶是页对象,每个页对象是一个字典,指定一个文档页面的属性。
页对象中的必选条目:
1)Type,此字典描述了 PDF 对象的类型;对于页对象,应为 Page。
2)Parent,作为此页对象的直接父节点的页面树节点。
3)Resources,一个字典,包含页面需要的任何资源。
4)MediaBox,一个矩形,使用默认的用户空间单位表示,定义应显示或打印页面的物理媒介的边界。