Foxit PDF SDK
foxit::pdf::objects::PDFNumberTree类 参考
类 foxit::pdf::objects::PDFNumberTree 继承关系图:
foxit::Base

Public 类型

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

Public 成员函数

 PDFNumberTree (const PDFDoc &document, Type type)
 带参数的构造函数。 更多...
 
 PDFNumberTree ()
 构造函数。
 
 PDFNumberTree (const PDFNumberTree &other)
 拷贝构造函数。 更多...
 
 ~PDFNumberTree ()
 析构函数。
 
objects::PDFObjectGetObj (int number)
 获取指定键整数的值(作为PDF对象)。 更多...
 
Type GetType ()
 获取当前数字树的类型。 更多...
 
bool HasNumber (int number)
 检查指定的键整数是否存在于当前数字树中。 更多...
 
bool IsEmpty () const
 检查当前对象是否为空。 更多...
 
bool operator != (const PDFNumberTree &other) const
 不等操作符。 更多...
 
PDFNumberTreeoperator= (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

数字树类型的枚举。

此枚举的值应单独使用。

枚举值
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表示失败。