PDF格式分析(十四)incredible update(增量更新)

incredible update增量更新提供了一种更新PDF文件而无需完全重写的方法,根据PDF规范(1.7),增量更新的工作方式如下:可以逐步更新PDF文件的内容,而无需重写整个文件。更改将附加到文件末尾,保留原始内容。

如下图所示:
PDF格式分析(十四)incredible update(增量更新)_第1张图片

PDF文件的基本结构(没有增量更新的文件)由4部分组成:


对象
交叉参考表
trailer

具有一个增量更新的PDF文件具有以下结构:


对象(原创内容)
交叉参考表(原始内容)
trailer(原创内容)
对象(更新内容)
交叉引用表(更新内容)
trailer(更新内容)

已修改的每个对象都可以在PDF文件中找到两次。未修改的对象仍然存在于原始内容中,并且可以在更新的内容中找到相同对象的编辑版本。

更新内容的交叉引用表索引更新的对象,并且更新内容的尾部指向两个交叉引用表。

当PDF阅读器呈现PDF文档时,它从文件末尾开始。它读取最后一个预告片并跟随到根对象和交叉引用表的链接,以构建它将要呈现的文档的逻辑结构。当阅读器遇到更新的对象时,它会忽略相同对象的原始版本。

一个PDF文件允许增量更新的次数不受限制。
简单的判断PDF是否增量更新的方法是:文档中存在多个“%%EOF”

如果制作增量更新的PDF,方法是按下列内容顺序输出:
1、原样输出PDF文件的内容
2、输出将修改或增加的间接对象
3、将更新的交叉引用表输出
4、输出trailer

你可能感兴趣的:(PDF分析)