Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.pdf.PageLabels类 参考
类 com.foxit.sdk.pdf.PageLabels 继承关系图:

## Public 成员函数
| PageLabels (PageLabels other)
| 构造函数，使用另一个页面标签对象。 更多...
| PageLabels (PDFDoc document) throws com.foxit.sdk.PDFException
| 构造函数，从PDF文档对象构造。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
PDFNumberTree | getNumberTree () throws com.foxit.sdk.PDFException
| 获取页面标签数字树。 更多...
String | getPageLabelPrefix (int page_index) throws com.foxit.sdk.PDFException
| 获取指定页面索引的页面标签（作为编号格式）中的标签前缀字符串。 更多...
int | getPageLabelStart (int page_index) throws com.foxit.sdk.PDFException
| 获取指定页面索引的页面标签（作为编号格式）中第一个页面标签的数字部分值。 更多...
int | getPageLabelStyle (int page_index) throws com.foxit.sdk.PDFException
| 获取指定页面索引的页面标签（作为编号格式）中数字部分使用的编号样式。 更多...
String | getPageLabelTitle (int page_index) throws com.foxit.sdk.PDFException
| 获取由页面索引指定的页面的完整页面标签标题。 更多...
boolean | hasPageLabel (int page_index) throws com.foxit.sdk.PDFException
| 检查是否为指定页面索引定义了页面标签（作为编号格式）。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...
void | removeAll () throws com.foxit.sdk.PDFException
| 移除所有页面标签。 更多...
void | removePageLabel (int page_index) throws com.foxit.sdk.PDFException
| 移除用指定页面索引定义的页面标签（作为编号格式）。 更多...
void | setPageLabel (int page_index, int label_style, int first_label_number, String prefix_string) throws com.foxit.sdk.PDFException
| 设置由页面索引定义的页面标签（作为编号格式），该页面索引是范围的起始页面索引。 更多...

## 静态 Public 属性
static final int | e_DecimalNums = 1
| 页面标签样式：十进制阿拉伯数字。
static final int | e_LowerLetters = 5
| 页面标签样式：小写字母。 更多...
static final int | e_LowerRomanNums = 3
| 页面标签样式：小写罗马数字。
static final int | e_None = 0
| 页面标签样式：无编号样式。 更多...
static final int | e_UpperLetters = 4
| 页面标签样式：大写字母。 更多...
static final int | e_UpperRomanNums = 2
| 页面标签样式：大写罗马数字。

## 详细描述

PDF文档中的每一页都由一个整数页面索引标识，该索引表示页面在文档中的相对位置。 此外，文档可以可选地定义页面标签（PDF 1.3）来 在屏幕上或打印时直观地标识每一页。页面标签标题和页面索引不需要一致： 索引是固定的，从第一页的0开始在文档中连续运行， 但标签标题可以以适合特定文档的任何方式指定。 例如，如果文档以12页用罗马数字编号的前言开始， 文档的其余部分用阿拉伯数字编号，第一页的页面索引为0， 页面标签标题为i，第十二页的索引为11，标签标题为xii， 第十三页的索引为12，标签标题为1。
为了页面标签的目的，文档可以分为标签范围，每个范围是一系列 使用相同编号系统的连续页面。范围内的页面按升序顺序编号。 页面的标签（作为编号格式）由基于其在标签范围内位置的数字部分组成， 可选地在前面加上表示范围本身的标签前缀。 例如，附录中的页面可能标有以字符串A-为前缀的十进制数字部分； 结果页面标签将是A-1、A-2等。更多详情请参考 <PDF Reference 1.7> 中的第8.3.1节"Page Labels"。
此类可用于直接获取页面标签完整标题，获取页面标签（作为编号格式）的信息， 设置或添加新的页面标签等。

## 构造及析构函数说明

## ◆ PageLabels() [1/2]

com.foxit.sdk.pdf.PageLabels.PageLabels | ( | PDFDoc | document | ) | throws com.foxit.sdk.PDFException

构造函数，从PDF文档对象构造。

如果指定的PDF文档中存在页面标签范围信息， 此函数只是构造一个与这些信息关联的页面标签对象。 如果指定的PDF文档中没有这样的信息，构造的页面标签对象 可用于向PDF文档设置页面标签范围信息。

参数

  [in] | document | 一个有效的PDF文档对象。

## ◆ PageLabels() [2/2]

com.foxit.sdk.pdf.PageLabels.PageLabels | ( | PageLabels | other | ) |

构造函数，使用另一个页面标签对象。

参数

  [in] | other | 另一个页面标签对象。

## 成员函数说明

## ◆ delete()

synchronized void com.foxit.sdk.pdf.PageLabels.delete | ( |  | ) |

直接清除C++相关资源。

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

重载 com.foxit.sdk.common.Base .

## ◆ getNumberTree()

PDFNumberTree com.foxit.sdk.pdf.PageLabels.getNumberTree | ( |  | ) | throws com.foxit.sdk.PDFException

获取页面标签数字树。

返回
  页面标签数字树。

## ◆ getPageLabelPrefix()

String com.foxit.sdk.pdf.PageLabels.getPageLabelPrefix | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

获取指定页面索引的页面标签（作为编号格式）中的标签前缀字符串。

此函数仅在输入页面索引具有页面标签时有用——这意味着页面索引是 页面标签范围的起始页面索引。可以使用函数 PageLabels.hasPageLabel 来检查页面索引是否具有页面标签。 如果输入页面索引没有页面标签，此函数将返回空字符串。

参数

  [in] | page_index | 作为页面标签范围起始页面索引的页面索引。 有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。

返回
  标签前缀字符串。空字符串表示未使用前缀字符串或 输入页面索引没有页面标签。可以使用函数 PageLabels.hasPageLabel 来检查输入页面索引是否具有页面标签。

## ◆ getPageLabelStart()

int com.foxit.sdk.pdf.PageLabels.getPageLabelStart | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

获取指定页面索引的页面标签（作为编号格式）中第一个页面标签的数字部分值。

后续页面从此值开始顺序编号，直到出现下一个页面标签范围。 此值必须大于或等于1。
此函数仅在输入页面索引具有页面标签时有用——这意味着页面索引是 页面标签范围的起始页面索引。可以使用函数 PageLabels.hasPageLabel 来检查页面索引是否具有页面标签。 如果输入页面索引没有页面标签，此函数将返回-1。

参数

  [in] | page_index | 作为页面标签范围起始页面索引的页面索引。 有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。

返回
  指定标签范围中第一个页面标签的数字部分值， 该值将大于或等于1。 -1表示未定义第一个标签编号或输入页面索引没有页面标签。 可以使用函数 PageLabels.hasPageLabel 来检查输入页面索引是否具有页面标签。

## ◆ getPageLabelStyle()

int com.foxit.sdk.pdf.PageLabels.getPageLabelStyle | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

获取指定页面索引的页面标签（作为编号格式）中数字部分使用的编号样式。

此函数仅在输入页面索引具有页面标签时有用——这意味着页面索引是 页面标签范围的起始页面索引。可以使用函数 PageLabels.hasPageLabel 来检查页面索引是否具有页面标签。 如果输入页面索引没有页面标签，此函数将返回-1。

参数

  [in] | page_index | 作为页面标签范围起始页面索引的页面索引。 有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。

返回
  编号样式。请参考从 com.foxit.sdk.pdf.PageLabels.e_None 开始的值， 将是这些值中的一个。
  -1 表示输入页面索引没有页面标签。

## ◆ getPageLabelTitle()

String com.foxit.sdk.pdf.PageLabels.getPageLabelTitle | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

获取由页面索引指定的页面的完整页面标签标题。

此函数可以帮助直接获取指定页面索引的完整页面标签标题， 用户不需要关心此页面属于哪个页面标签范围。
只有当相关PDF文档没有任何页面标签范围信息时， 此函数才会为每个有效页面索引返回空字符串。

参数

  [in] | page_index | 页面索引。有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。

返回
  页面标签完整标题字符串。

## ◆ hasPageLabel()

boolean com.foxit.sdk.pdf.PageLabels.hasPageLabel | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

检查是否为指定页面索引定义了页面标签（作为编号格式）。

对于每个页面标签范围，页面标签（作为编号格式）由其起始页面索引定义。

参数

  [in] | page_index | 页面索引。有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。

返回
  true 表示输入页面索引存在已定义的页面标签， false 表示输入页面索引没有定义的页面标签。

## ◆ isEmpty()

boolean com.foxit.sdk.pdf.PageLabels.isEmpty | ( |  | ) |

检查当前对象是否为空。

当前对象为空时，表示当前对象无用。

返回
  true 表示当前对象为空，false 表示不为空。

## ◆ removeAll()

void com.foxit.sdk.pdf.PageLabels.removeAll | ( |  | ) | throws com.foxit.sdk.PDFException

移除所有页面标签。

返回
  无。

## ◆ removePageLabel()

void com.foxit.sdk.pdf.PageLabels.removePageLabel | ( | int | page_index | ) | throws com.foxit.sdk.PDFException

移除用指定页面索引定义的页面标签（作为编号格式）。

指定页面标签被移除后，相关标签范围将合并到 前一个页面标签范围序列中。
根据 <PDF reference 1.7> 第8.3.1节"Page Labels"的要求，需要用 页面索引0定义的页面标签。因此建议用户不要单独移除页面索引0的页面标签。

参数

  [in] | page_index | 作为页面标签范围起始页面索引的页面索引。 有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。 根据 <PDF reference 1.7> 第8.3.1节"Page Labels"的要求， 不建议单独移除用页面索引0定义的页面标签。

返回
  无。

## ◆ setPageLabel()

void com.foxit.sdk.pdf.PageLabels.setPageLabel | ( | int | page_index,
|  | int | label_style,
|  | int | first_label_number,
|  | String | prefix_string
| ) |  | throws com.foxit.sdk.PDFException

设置由页面索引定义的页面标签（作为编号格式），该页面索引是范围的起始页面索引。

- 如果相关PDF文档中没有任何页面标签范围，此函数将设置输入页面索引作为 新页面标签范围的起始页面，并使用输入值作为此新范围的页面标签（作为编号格式）。 指定页面之后的页面将在同一标签范围中，直到出现下一个页面标签范围。 特别地，在这种情况下，如果输入页面索引不是0， 此函数还将为索引0添加新的页面标签，默认情况下没有标签样式、没有前缀、 第一个标签编号=1——这是 <PDF reference 1.7> 第8.3.1节"Page Labels"中的要求。
- 如果输入页面索引没有页面标签，此函数将设置输入页面索引作为 新页面标签范围的起始页面，并使用输入值作为此新范围的页面标签（作为编号格式）。 指定页面之后的页面将在同一标签范围中，直到出现下一个页面标签范围。
- 如果输入页面索引存在页面标签，此函数将 用输入值替换旧的页面标签（作为编号格式）。

参数

  [in] | page_index | 作为页面标签范围起始页面索引的页面索引。 有效范围：从0到(count-1)。count是 相关PDF文档的页面数，可通过函数 PDFDoc.getPageCount 获取。
  [in] | label_style | 页面标签范围中数字部分使用的编号样式。 请参考从 com.foxit.sdk.pdf.PageLabels.e_None 开始的值， 应该是这些值中的一个。
  [in] | first_label_number | 页面标签范围中第一个页面标签的数字部分值。 应该大于或等于1。 如果输入值无效，Foxit PDF SDK将默认使用1。
  [in] | prefix_string | 标签范围中页面标签的标签前缀字符串。 可以是空字符串，表示不使用前缀字符串。 默认值：空字符串。

返回
  无。

## 类成员变量说明

## ◆ e_LowerLetters

final int com.foxit.sdk.pdf.PageLabels.e_LowerLetters = 5
| static

页面标签样式：小写字母。

如果使用此样式，前26页将使用a到z，接下来的26页将使用aa到zz， 以此类推。

## ◆ e_None

final int com.foxit.sdk.pdf.PageLabels.e_None = 0
| static

页面标签样式：无编号样式。

这意味着页面标签仅由标签前缀组成，没有数字部分。

## ◆ e_UpperLetters

final int com.foxit.sdk.pdf.PageLabels.e_UpperLetters = 4
| static

页面标签样式：大写字母。

如果使用此样式，前26页将使用A到Z，接下来的26页将使用AA到ZZ， 以此类推。