PDF格式分析(十八)PageLabel页面标签

PDF PageLabel 页面标签可用于描述页面的页码。允许非连续页面编号,可以看为页面添加任意标签(例如在文档的开头包含罗马数字)。PageLabel对象可用于指定要使用的编号样式(例如,大写或小写罗马,十进制等),第一页的起始编号以及要预先附加到的任意前缀每个数字(例如,“A-”生成“A-1”,“A-2”,“A-3”等。)

PDF文档中的每个页面都由整数页索引标识,该索引表示页面在文档中的相对位置。另外,文档可以有选择地定义页面标签以在屏幕上或在打印中可视地识别每个页面。

页面标签和页面索引不需要重合:索引是固定的,从第一页的1开始连续通过文档运行,但标签可以以适合特定文档的任何方式指定。例如,如果文档以12页用罗马数字编号的前端内容开头,而文档的其余部分用阿拉伯语编号,则第一页的页面索引为1,页面标签为i,第12页将具有索引12和标签xii,第十三页将具有索引13和标签1。

出于页面标记的目的,文档可以被划分标记范围,每个标记范围是使用相同编号系统的一系列连续页面。范围内的页面按升序顺序编号。页面的标签由基于其在标签范围内的位置的数字部分组成,可选地在前面有表示范围本身的标签前缀。例如,附录中的页面可能标有前缀为字符串“A-”的十进制数字部分,结果页面标签为“A-1”,“A-2”,

没有默认的编号样式; 如果不存在’S’(样式)条目,则页面标签仅包含没有数字部分的标签前缀。例如,如果“P”条目(前缀)指定标签前缀“附录”,则每个页面都标记为“附录”,没有页码。如果“P”条目也缺失或为空,则页面标签为空字符串。

以下代码片段说明了在文档中指定多个页面编号方案的典型代码。

以下示例适用于标有以下页面的文档:

示例: i,ii,iii,iv,1,2,3,A-8,A-9,……

此编号方案需要3个页面标签词典(小写罗马字母,阿拉伯字母和前缀数字)

1 0 obj
    << /Type /Catalog
       /PageLabels << /Nums [ 0 << /S /r >>  % lowercase Roman numerals
                              4 << /S /D >>  % Arabic numerals
                              7 << /S /D     % Arabic numerals with ...
                      /P (A-)                % the prefix "A-"...
                      /St 8                  % starting at page 8
                                >>
                            ]
                    >>
       …
   >>
  endobj

页面标签指定如下:

/S 指定页码的编号样式:

  • /D - 阿拉伯数字(1,2,3 ……)
  • /r - 小写罗马数字(i,ii,iii,…)
  • /R - 大写罗马数字(I,II,III,…)
  • /A - 大写字母(AZ)
  • /a - 小写字母(az)

/P (可选) - 页码前缀

/St (可选) - 范围内第一个页码的值(默认值:1)

猜你喜欢

转载自blog.csdn.net/steve_cui/article/details/82346327
今日推荐