【问题标题】:PDF Cross-Reference StreamPDF 交叉引用流
【发布时间】:2015-08-26 08:42:11
【问题描述】:

我知道 0002 是 pdf 文件中的对象编号。最后一列(从 01 到 07)的名称是“索引”(在 pdf 参考文档中)但是 01,02,03,04,05,06 和 07 是什么意思?他们在对象 2 中指向哪里?没听懂。

这里是交叉引用流:

    stream 01 0E8A 0 % Entry for object 2 (0x0E8A = 3722) 
    SyntaxCHAPTER 3 114
    02 0002 00 % Entry for object 3 (in object stream 2, index 0) 
    02 0002 01 % Entry for object 4 (in object stream 2, index 1) 
    02 0002 02 % … 
    02 0002 03 
    02 0002 04 
    02 0002 05 
    02 0002 06 
    02 0002 07 % Entry for object 10 (in object stream 2, index 7) 
    01 1323 0 % Entry for object 11 (0x1323 = 4899) 
    endstream 

这是示例 pdf 文档中的第二个对象:

    2 0 obj       % The object stream, at offset 3722 
    <</Length     ... 
    /N 8          % This stream contains 8 objects. 
    /First 47     % The stream-offset of the first object 
    >> 
    stream 
    3 0 4 50 5 72 …    % The numbers and stream-offsets of the 8 objects 
    <</Type /StructTreeRoot    % This is object 3. 
    /K 4 0 R  
    /RoleMap 5 0 R  
    /ClassMap 6 0 R  
    /ParentTree 7 0 R  
    /ParentTreeNextKey 8  
    >>  
    << /S /Workbook     % This is object 4 (K value from StructTreeRoot). 
    /P 8 0 R  
    /K 9 0 R  
    >>  
    <</Workbook /Div     % This is object 5 (RoleMap). 
    /Worksheet /Sect  
    /TextBox /Figure  
    /Shape /Figure 
    >> 
    … % Objects 6 through 10 are defined here. 
    endstream 
    endobj 

【问题讨论】:

  • 但是 01,02,03,04,05,06 和 07 是什么意思呢?他们在对象 2 中指向哪里? - 它是列表中的索引3 0 4 50 5 72 … % The numbers and stream-offsets of the 8 objects 的数字对

标签: pdf cross-reference


【解决方案1】:

查看PDF 32000 standard内部

根据交叉引用流的章节,外部参照流中存在三种类型的条目。

这些条目(第一个字节 = 02)告诉我们它们位于压缩流对象 #2 中。第三个字段对这个压缩流中的对象数量有意义

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 2011-03-03
    相关资源
    最近更新 更多