Foxit PDF SDK
FSPDFNumberTree类 参考
类 FSPDFNumberTree 继承关系图:
FSBase

构造函数

(FSPDFObject *) - getObj:
 获取指定键整数的值(作为PDF对象)。
更多...
 
(FSPDFNumberTreeType- getType
 获取当前数字树的类型。
更多...
 
(BOOL) - hasNumber:
 检查指定的键整数是否存在于当前数字树中。
更多...
 
(id) - init
 构造函数。

 
(id) - initWithDocument:type:
 带参数的构造函数。
更多...
 
(id) - initWithOther:
 拷贝构造函数。
更多...
 
(BOOL) - isEmpty
 检查当前对象是否为空。
更多...
 
(BOOL) - removeAllObjs
 从当前数字树中删除所有键整数及其值(作为PDF对象)。
更多...
 
(BOOL) - removeObj:
 从当前数字树中删除一个键整数及其值(作为PDF对象)。
更多...
 
(BOOL) - setObj:pdf_object:
 设置指定键整数的值(作为PDF对象)。如果键整数不存在,它将与值一起 添加到当前数字树中。
更多...
 

详细描述

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

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

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

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


函数文档

◆ getObj:()

- (FSPDFObject *) getObj: (int)  number

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

参数
[in]number作为键的整数。
返回
一个FSPDFObject 对象。返回的PDF对象的类型取决于当前数字树的用途。 请参考类FSPDFNumberTree 的注释以获取更多详细信息。 如果未找到,此函数将返回nil

◆ getType()

- (FSPDFNumberTreeType) getType

获取当前数字树的类型。

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

◆ hasNumber:()

- (BOOL) hasNumber: (int)  number

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

参数
[in]number表示要检查的键的整数。
返回
YES表示指定的整数存在于当前数字树中, NO表示指定的整数不存在于当前数字树中。

◆ initWithDocument:type:()

- (id) initWithDocument: (FSPDFDoc*)  document
type: (FSPDFNumberTreeType type 

带参数的构造函数。

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

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

◆ initWithOther:()

- (id) initWithOther: (FSPDFNumberTree*)  other

拷贝构造函数。

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

◆ isEmpty()

- (BOOL) isEmpty

检查当前对象是否为空。

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

返回
YES表示当前对象为空,而NO表示不为空。

◆ removeAllObjs()

- (BOOL) removeAllObjs

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

返回
YES表示成功,而NO表示失败。

◆ removeObj:()

- (BOOL) removeObj: (int)  number

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

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

参数
[in]number作为要删除的键的整数。
返回
YES表示成功,而NO表示失败。

◆ setObj:pdf_object:()

- (BOOL) setObj: (int)  number
pdf_object: (FSPDFObject*)  pdf_object 

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

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