Foxit PDF SDK

构造函数 | 所有成员列表
FSPDFNumberTree类 参考
类 FSPDFNumberTree 继承关系图:

## 构造函数
(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表示失败。