Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit::pdf::objects::PDFNumberTree类 参考
类 foxit::pdf::objects::PDFNumberTree 继承关系图:

## Public 类型
enum | Type { e_PageLabels = 1 }
| 数字树类型的枚举。 更多...

## Public 成员函数
| PDFNumberTree (const PDFDoc &document, Type type)
| 带参数的构造函数。 更多...
| PDFNumberTree ()
| 构造函数。
| PDFNumberTree (const PDFNumberTree &other)
| 拷贝构造函数。 更多...
| ~PDFNumberTree ()
| 析构函数。
objects::PDFObject * | GetObj (int number)
| 获取指定键整数的值(作为PDF对象)。 更多...
Type | GetType ()
| 获取当前数字树的类型。 更多...
bool | HasNumber (int number)
| 检查指定的键整数是否存在于当前数字树中。 更多...
bool | IsEmpty () const
| 检查当前对象是否为空。 更多...
bool | operator != (const PDFNumberTree &other) const
| 不等操作符。 更多...
PDFNumberTree & | operator= (const PDFNumberTree &other)
| 赋值操作符。 更多...
bool | operator== (const PDFNumberTree &other) const
| 相等操作符。 更多...
bool | RemoveAllObjs ()
| 从当前数字树中删除所有键整数及其值(作为PDF对象)。 更多...
bool | RemoveObj (int number)
| 从当前数字树中删除一个键整数及其值(作为PDF对象)。 更多...
bool | SetObj (int number, objects::PDFObject *pdf_object)
| 设置指定键整数的值(作为PDF对象)。如果键整数不存在,它将与值一起 添加到当前数字树中。 更多...
Public 成员函数 继承自 foxit::Base
FS_HANDLE | Handle () const
| 获取当前对象的句柄。 更多...

## 详细描述

数字树是PDF中的一种常见数据结构。数字树与名称树类似,不同之处在于 数字树中的键是整数而不是字符串,并且按升序数字顺序排序。 数字树具有以下特点:

- 数字树中的键整数按升序数字顺序排序,同一数字树中的每个键整数 都是唯一的;
- 与键整数关联的值可以是任何类型的对象,具体取决于数字树的用途;
- 数字树可以表示任意大的键值对集合,可以高效查找 而无需从PDF文件中读取整个数据结构。

类PDFNumberTree用于与指定类型的现有数字树关联或创建一个。 它提供了在数字树中获取键值对以及设置/添加/删除任何键值对的函数。 目前,类PDFNumberTree可以与PDF文档中定义的以下数字树关联:

- 页面标签数字树(类型为PDFNumberTree::e_PageLabels), 定义文档的页面标签。此树中的键是页面索引; 相应的值是页面标签字典(请参考<PDF Reference 1.7> P594 Section 8.3.1, "Page Labels")。每个页面索引表示指定 页面标签字典应用的标签范围中的第一页。树必须包含页面索引0的值。

## 成员枚举类型说明

## ◆ Type

enum foxit::pdf::objects::PDFNumberTree::Type

数字树类型的枚举。

此枚举的值应单独使用。

枚举值
e_PageLabels | "PageLabels"数字树。

## 构造及析构函数说明

## ◆ PDFNumberTree() [1/2]

foxit::pdf::objects::PDFNumberTree::PDFNumberTree | ( | const PDFDoc & | document,
|  | Type | type
| ) |  |

带参数的构造函数。

如果PDF文档中存在指定类型的数字树, 此函数只是构造一个PDF数字树对象以与该数字树关联。 如果PDF文档中没有此类数字树,则可以使用构造的PDF数字树对象 在PDF文档中创建此类数字树并向数字树添加项。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | type | 数字树的类型。请参考从 PDFNumberTree::e_PageLabels开始的值,这应该是这些值中的一个。

## ◆ PDFNumberTree() [2/2]

foxit::pdf::objects::PDFNumberTree::PDFNumberTree | ( | const PDFNumberTree & | other | ) |

拷贝构造函数。

参数

  [in] | other | 另一个PDF数字树对象。

## 成员函数说明

## ◆ GetObj()

objects::PDFObject* foxit::pdf::objects::PDFNumberTree::GetObj | ( | int | number | ) |

获取指定键整数的值(作为PDF对象)。

参数

  [in] | number | 作为键的整数。

返回
  一个PDFObject对象。返回的PDF对象的类型取决于当前数字树的用途。 请参考类PDFNumberTree的注释以获取更多详细信息。 如果未找到,此函数将返回NULL。

## ◆ GetType()

Type foxit::pdf::objects::PDFNumberTree::GetType | ( |  | ) |

获取当前数字树的类型。

返回
  当前数字树的类型。请参考从PDFNumberTree::e_PageLabels开始的值, 这将是这些值中的一个。

## ◆ HasNumber()

bool foxit::pdf::objects::PDFNumberTree::HasNumber | ( | int | number | ) |

检查指定的键整数是否存在于当前数字树中。

参数

  [in] | number | 表示要检查的键的整数。

返回
  true表示指定的整数存在于当前数字树中, false表示指定的整数不存在于当前数字树中。

## ◆ IsEmpty()

bool foxit::pdf::objects::PDFNumberTree::IsEmpty | ( |  | ) | const

检查当前对象是否为空。

当当前对象为空时,这意味着当前对象无用。

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

## ◆ operator !=()

bool foxit::pdf::objects::PDFNumberTree::operator != | ( | const PDFNumberTree & | other | ) | const

不等操作符。

参数

  [in] | other | 另一个PDF数字树对象。此函数将检查当前对象是否不等于此对象。

返回
  true表示不相等,而false表示相等。

## ◆ operator=()

PDFNumberTree& foxit::pdf::objects::PDFNumberTree::operator= | ( | const PDFNumberTree & | other | ) |

赋值操作符。

参数

  [in] | other | 另一个PDF数字树对象,其值将被赋给当前对象。

返回
  当前对象本身的引用。

## ◆ operator==()

bool foxit::pdf::objects::PDFNumberTree::operator== | ( | const PDFNumberTree & | other | ) | const

相等操作符。

参数

  [in] | other | 另一个PDF数字树对象。此函数将检查当前对象是否等于此对象。

返回
  true表示相等,而false表示不相等。

## ◆ RemoveAllObjs()

bool foxit::pdf::objects::PDFNumberTree::RemoveAllObjs | ( |  | ) |

从当前数字树中删除所有键整数及其值(作为PDF对象)。

返回
  true表示成功,而false表示失败。

## ◆ RemoveObj()

bool foxit::pdf::objects::PDFNumberTree::RemoveObj | ( | int | number | ) |

从当前数字树中删除一个键整数及其值(作为PDF对象)。

如果输入的键整数在当前数字树中不存在,此函数将 直接返回true。

参数

  [in] | number | 作为要删除的键的整数。

返回
  true表示成功,而false表示失败。

## ◆ SetObj()

bool foxit::pdf::objects::PDFNumberTree::SetObj | ( | int | number,
|  | objects::PDFObject * | pdf_object
| ) |  |

设置指定键整数的值(作为PDF对象)。如果键整数不存在,它将与值一起 添加到当前数字树中。

参数

  [in] | number | 作为键的整数。
  [in] | pdf_object | 要设置为键值的PDF对象。它不应该是NULL。 此PDF对象的类型应该与当前数字树匹配;否则, 输入的PDF对象无效。请参考类PDFNumberTree 的注释以获取更多详细信息。 此函数成功后,用户不应释放此PDF对象。

返回
  true表示成功,而false表示失败。