本文主要是介绍PDF格式分析(二十八)Linearized PDF 线性化 - Hint Tables(提示表),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Hint Tables(提示表)
本节描述了标准提示表的格式。
每个提示表保存在stream中,从相应流属性指示的流中的位置开始。 符合标准的提示流应包括页面偏移提示表,该表应是流中的第一个表,并且应从偏移0开始。如果存在溢出提示流(overflow hint stream),则其内容应无缝地附加到主提示流(primary hint stream)。
提示表位置是相对于此组合流(主提示流与溢出提示流合并后)的开头的偏移量。
通常,该字节流应首先被视为 high-order 比特流,然后将其分成为任意宽度的字段,而不考虑字节边界。 但是,每个提示表应从字节边界开始。
提示表旨在尽可能紧凑地编码所需信息。 解析提示表,需要按顺序读取它们; 它们不是为随机访问而设计的。
提示表对文件中各种对象的位置进行编码。 表现形式有:显式的(从文件开头的偏移量),隐式的(前面对象的累积长度)。
提示流偏移和提示流长度是文件开头的线性化参数字典中 H 数组中的值offset1和length1。
在使用对象流的线性化文件中,被压缩的对象在提示表中指定的位置,是指可以被压缩对象所在对象流中的字节范围,而不是精确的偏移量。 符合标准的阅读器应该通过交叉引用流定位对象,就像提示表不存在一样。
这篇关于PDF格式分析(二十八)Linearized PDF 线性化 - Hint Tables(提示表)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!