用途
某些类型的文档可能会包含逻辑连接,而这个逻辑顺序并不是物理顺序。比如:新闻报道可以从新闻通讯的第一页开始,然后转到一个或多个非连续的内页。
为了表示物理上不连续但逻辑相关的项目的序列,PDF文档定义了一个或多个Article(PDF 1.1)。 Article的顺序由article thread定义; 组成文章的各个内容项在线程上称为珠子(bead)。 用户可以通过点击从一个珠子到下一个珠子进行跳转。
表示
文档Catalog中可以定义的可选Threads条目(参见“文档目录”),该条目中定义了一个Thread词典组成的数组,用来表示文档Articles。Thread内的每个单独的bead应由bead字典表示。Thread字典的“F”条目应指定Threads中的第一个bead; bead通过“N”(下一个)和“V”(前一个)条目,构成一个在一个双向链表,将所有bead顺序链接在一起。 此外,对于出现 article beads 的每个页面,页面对象(Page)应包含一个B条目,其值是页面上的bead间接引用的数组,顺序是按照绘图顺序进行排列。
Thread词典中的条目
Key | Type | Value |
---|---|---|
Type | name | (可选)如果存在,则应为Thread。 |
F | dictionary | (必需;应为间接引用)Thread中的第一个bead。 |
I | dictionary | (可选)包含有关该Thread的信息的Thread信息字典,例如其标题,作者和创建日期。 该词典的内容应符合文档信息词典的语法(见“Document Information Dictionary文档信息词典”)。 |
bead词典中的条目
Key | Type | Value |
---|---|---|
Type | name | (可选)如果存在,则应为Bead。 |
T | dictionary | (对于Thread的第一个bead是必需的;对于所有其他珠子是可选的;该对象是间接引用表示)该bead所属的Thread对象。 |
N | dictionary | (必需;应为间接引用)Thread中的下一个bead。 在最后一个bead中,该条目应指第一个bead。 |
V | dictionary | (必需;应为间接引用)Thread中的上一个bead。 在第一个bead中,该条目应指最后一个bead。 |
P | dictionary | (必需;应为间接引用)表示此bead所在页面的页面对象。 |
R | rectangle | (必需)一个矩形,指定页面上此bead的位置。 |
例子:
Catalog 字典
494 0 obj % Catalog 字典
<<
/Pages 478 0 R
/Threads 495 0 R % Threads 简介引用
/Type/Catalog>>
endobj
Thread 数组
495 0 obj
[496 0 R 497 0 R] % Thread 数组
endobj
Thread 字典
496 0 obj
<<
/F 510 0 R % Thread中的第一个bead
/I 56 0 R % Thread信息字典
>>
endobj
497 0 obj
<<
/F 524 0 R
/I 57 0 R>>
endobj
Thread中的第一个bead词典
510 0 obj
<<
/N 511 0 R
/P 500 0 R
/R[44.8739 285.975 589.09 677.906]
/T 496 0 R
/V 512 0 R>>
endobj
Thread中的最后一个bead词典
512 0 obj
<<
/N 510 0 R
/P 26 0 R
/R[120.778 15.7763 579.065 177.132]
/T 496 0 R
/V 513 0 R>>
endobj
bead所在页面的页面对象
500 0 obj
<<
/Annots 501 0 R
/B[510 0 R 524 0 R 525 0 R 526 0 R]
/Contents[536 0 R 537 0 R 538 0 R 543 0 R 544 0 R 547 0 R 548 0 R 549 0 R]
/CropBox[0 0 612 792]
/MediaBox[0 0 612 792]
/Parent 478 0 R
/Resources<</ColorSpace<</CS0 531 0 R>>/ExtGState<</GS0 532 0 R>>/Font<</T1_0 527 0 R/T1_1 528 0 R/TT0 529 0 R/TT1 530 0 R/TT2 539 0 R/TT3 540 0 R/TT4 545 0 R/TT5 546 0 R>>/ProcSet[/PDF/Text]>>
/Rotate 0
/StructParents 0
/Type/Page>>
endobj