引言
在“PDF学习二 PDF物理结构”的说明里用了较大的篇幅说明了交叉引用表,但是有人表示说,用记事本打开一个PDF文件,并没有看到所谓的交叉引用表。
精华提炼出来的文档的描述有错误么?非也,只是交叉引用表现在使用的比较少了,大部分的pdf文件都在使用交叉引用流
无奈只能开了一个杂谈说明下PDF对象流,对PDF物理结构的一个补充。
正文
先来了解下什么是对象流 Object Streams
来个定义: 从PDF1.5开始新增object stream,包含一系列的PDF对象,类似文件体。
优点:
- 压缩PDF对象
- 减小PDF文件大小
大部分对象都可出现在对象流中,除了以下情况:
- 流对象 Stream Objects。
- 对象的产生号不是0。
- 文档的加密字典。
- 一个对象的Length条目出现在对象流字典中。
以下是解码后的Object Stream例子: