(七)pdf的构成之文件体(page对象)
页面(page)
通过页面树访问文档的页面,页面树定义PDF文档中的所有页面。树包含表示PDF文档页面的节点,可以是两种类型:中间节点和叶节点。中间节点也称为页面树节点,而叶节点称为页面对象。最简单的页面树结构可以由单个页面树节点组成,该节点直接引用所有页面对象(因此所有页面对象都是叶子)
属性:(指示包含部分)
Type - 永远是Page
Parent - 对此页面的父级的间接引用
LastModified - 上次修改此页面的日期和时间
Resource - 此页面所需的资源。这通常是指此页面上使用的字体和其他信息。(内部是一个字典类型)
MediaBox - 一个矩形,用于定义页面必须在其中显示的边界。
Contents - 描述此页面内容的内容流。
Rotate - 以90的倍数表示。在显示之前将页面旋转度数。
Thumb - 一个流对象,为此页面提供缩略图图像。
Dur - 在自动移动到下一页之前,页面将在演示文稿中显示的秒数。
Trans - 一种字典,用于指示在演示期间显示页面时要使用的转换。
Annots - 这是一个字典数组,包含对此页面的所有注释的引用
AA - 这是附加行动的简短形式。此字典定义文件打开或关闭时需要采取的操作。
Metadata - 包含此页面元数据的流
例子:
4 0 obj
<</Type/Page/MediaBox [0 0 595 842] //定义页面大小(x,y)坐标起点和终点
/Rotate 0 //页面选装0度
/Parent 3 0 R //父节点对象号:3
/Resources<</ProcSet[/PDF /Text]
/ExtGState 10 0 R
/Font 11 0 R
>>
/Contents 5 0 R
>>
endobj
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于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)