所有的对象之后是下面的交叉引用表: xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n xref说明一个交叉引用表的开始,交叉引用表的第一行0 8 说明下面各行所描述的对象号是从0开始,并且有8个对象。 0000000000 65535 f,一般每个PDF文件都是以这一行开始交叉应用表的,说明对象0的起始地址为0000000000,产生号(generation number)为65535,也是最大产生号,不可以再进行更改,而且最后对象的表示是f,表明该对象为free, 这里,大家可以看到,其实这个对象可以看作是文件头。 0000000009 00000 n就是表示对象1,也就是catalog对象了,0000000009是其偏移地址,00000为5位产生号(最大为65535),0表明该对象未被修改过, n表示该对象在使用,区别与自由对象,不可以更改。 下面的几行相信大家就可以告诉我含义了。 Trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF trailer 说明文件尾trailer对象的开始。 /Size 8说明该PDF文件的对象数目。 /Root 1 0 R说明根对象的对象号为1。 Startxref 553说明交叉引用表的偏移地址,从而可以找到PDF文档中所有的对象的相对地址,进而访问对象。 %%EOF为文件结束标志。 6.2.PDF解析过程 图4 7.结束语: |