Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::PDFNameTree类 参考

## Public 成员函数
| Add (name, pdf_object)
| 添加一个新键名及其PDF对象值。 更多...
| constructor (document, type)
| 带参数的构造函数。 更多...
| GetCount ()
| 获取当前名称树中元素的数量。 更多...
| GetName (index)
| 通过索引获取名称树中的键名。 更多...
| GetObj (name)
| 获取指定键名的值（作PDF对象）。 更多...
| GetType ()
| 获取当前名称树的类型。 更多...
| HasName (name)
| 检查当前名称树中是否存在指定的键名。 更多...
| IsEmpty ()
| 检查当前对象是否为空。 更多...
| RemoveAllObjs ()
| 从当前名称树中删除所有键名及其值（作为PDF对象）。 更多...
| RemoveObj (name)
| 从当前名称树中删除一个键名及其值（作为PDF对象）。 更多...
| Rename (old_name, new_name)
| 将现有键名重命名为新键名。 更多...
| SetObj (name, pdf_object)
| 设置指定键名的值（作PDF对象）。 更多...

## 静态 Public 属性
static | e_Dests
| 名称树类型的枚举。 更多...
static | e_EmbeddedFiles
| "EmbeddedFiles"名称树。
static | e_JavaScript
| "JavaScript"名称树。
static | e_Pages
| "Pages"名称树。
static | e_Templates
| "Templates"名称树。

## 详细描述

名称树是PDF中的一种常见数据结构。名称树的用途与PDF字典类似

- 关联键和值 - 但通过不同的方式实现：在名称树中，键名被视为 其值对象的别名。这意味着，可以通过键名而不是 通过引用对象来引用值对象。
  名称树具有以下特征：
  - 名称树中的键名是有序的，并且同一名称树中的每个键名都是唯一的；
  - 与键名关联的值可以是任何类型的对象，具体取决于名称树的用途；
  - 名称树可以表示任意大的键值对集合，可以高效地查找 而无需从PDF文件读取整个数据结构。
  类 FSDK.PDFNameTree 用于与具有指定类型的现有名称树关联或创建一个名称树。 它提供了在名称树中获取键值对、设置/添加/删除任何键值对的函数。 目前，类 FSDK.PDFNameTree 可以与PDF文档中定义的以下名称树关联：
  - 目的地名称树（类型为 FSDK.PDFNameTree.e_Dests）， 将名称字符串映射到目的地。此名称树中的值应该是目的地数组 （或对目的地数组的引用对象）。
  - JavaScript名称树（类型为 FSDK.PDFNameTree.e_JavaScript）， 将名称字符串映射到文档级JavaScript操作。此名称树中的值应该是 JavaScript操作字典（或对JavaScript操作字典的引用对象）。
  - 嵌入文件名称树，类型为 FSDK.PDFNameTree.e_EmbeddedFiles，将名称字符串映射到 嵌入文件流的文件规范。此名称树中的值应该是 文件规范字典（或对文件规范字典的引用对象）， 其中包含嵌入文件流。
  - 页面名称树，类型为 FSDK.PDFNameTree.e_Pages，将名称字符串映射到 页面。此名称树中的值应该是对页面字典的引用对象。
  - 模板名称树，类型为 FSDK.PDFNameTree.e_Templates，将名称字符串映射到 隐藏页面。此名称树中的值应该是对隐藏页面字典的引用对象。 请使用函数 FSDK.PDFDoc.HidePageTemplate 来隐藏页面。
  关于在PDF文档中方便使用嵌入文件（也称为附件）， 请参考类 FSDK.Attachments。

参见
  FSDK.Attachments

## 成员函数说明

## ◆ Add()

FSDK::PDFNameTree::Add | ( | name | ,
|  | pdf_object |
| ) |  |

添加一个新键名及其PDF对象值。

名称树中的所有PDF对象按其名称排序。当添加新PDF对象时， Foxit PDF SDK将在名称树中找到适合的位置来添加它。成功添加后， 某些旧键的索引可能会发生变化。

参数

  [in] | name | 新键名的字符串。这不应是空字符串。 此新名称不应已存在于当前名称树中。
  [in] | pdf_object | 一个PDF对象，将与新名称一起设置。此PDF对象的类型应 与当前名称树匹配；否则，输入的PDF对象无效。 请参考类 FSDK.PDFNameTree 的注释以获取更多详细信息。 此函数成功后，用户不应释放此PDF对象。

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

## ◆ constructor()

FSDK::PDFNameTree::constructor | ( | document | ,
|  | type |
| ) |  |

带参数的构造函数。

如果PDF文档中存在指定类型的名称树， 此函数仅构造一个PDF名称树对象以与该名称树关联。 如果PDF文档中没有这样的名称树，构造的PDF名称树对象可用于 在PDF文档中创建这样的名称树并向名称树添加项。

参数

  [in] | document | 有效的PDF文档对象。
  [in] | type | 名称树的类型。请参考从 FSDK.PDFNameTree.e_Dests 开始的值， 这应该是这些值之一。

## ◆ GetCount()

FSDK::PDFNameTree::GetCount | ( |  | ) |

获取当前名称树中元素的数量。

返回
  元素数量。

## ◆ GetName()

FSDK::PDFNameTree::GetName | ( | index |  | ) |

通过索引获取名称树中的键名。

参数

  [in] | index | 要检索的键名的索引。有效范围：从0到 (count-1)。 count 由函数 FSDK.PDFNameTree.GetCount 返回。

返回
  表示键名的字符串。

## ◆ GetObj()

FSDK::PDFNameTree::GetObj | ( | name |  | ) |

获取指定键名的值（作PDF对象）。

参数

  [in] | name | 键名的字符串。它不应该是空字符串。

返回
  FSDK.PDFObject 对象。返回PDF对象的类型取决于当前名称树的用途。 请参考类 FSDK.PDFNameTree 的注释以获取更多详细信息。 如果未找到，此函数将返回 null。

## ◆ GetType()

FSDK::PDFNameTree::GetType | ( |  | ) |

获取当前名称树的类型。

返回
  当前名称树的类型。请参考从 FSDK.PDFNameTree.e_Dests 开始的值， 这将是这些值之一。

## ◆ HasName()

FSDK::PDFNameTree::HasName | ( | name |  | ) |

检查当前名称树中是否存在指定的键名。

参数

  [in] | name | 表示要检查的键名的字符串。它不应该是空字符串。

返回
  true表示指定的名称存在于当前名称树中， false表示指定的名称不存在于当前名称树中。

## ◆ IsEmpty()

FSDK::PDFNameTree::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时，这意味着当前对象是无用的。

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

## ◆ RemoveAllObjs()

FSDK::PDFNameTree::RemoveAllObjs | ( |  | ) |

从当前名称树中删除所有键名及其值（作为PDF对象）。

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

## ◆ RemoveObj()

FSDK::PDFNameTree::RemoveObj | ( | name |  | ) |

从当前名称树中删除一个键名及其值（作为PDF对象）。

如果输入的名称在当前名称树中不存在，此函数将直接返回 true。

参数

  [in] | name | 要删除的键名的字符串。这不应是空字符串。

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

## ◆ Rename()

FSDK::PDFNameTree::Rename | ( | old_name | ,
|  | new_name |
| ) |  |

将现有键名重命名为新键名。

参数

  [in] | old_name | 要重命名的旧键名的字符串。这不应是空字符串。 此名称应已存在于当前名称树中。
  [in] | new_name | 新键名的字符串。这不应是空字符串。 此新名称不应已存在于当前名称树中。

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

## ◆ SetObj()

FSDK::PDFNameTree::SetObj | ( | name | ,
|  | pdf_object |
| ) |  |

设置指定键名的值（作PDF对象）。

参数

  [in] | name | 键名的字符串。它不应该是空字符串。 此名称应已存在于当前名称树中。
  [in] | pdf_object | 要设置为名称值的PDF对象。它不应为 null。 此PDF对象的类型应与当前名称树匹配；否则， 输入的PDF对象无效。请参考类 FSDK.PDFNameTree 的注释 以获取更多详细信息。 此函数成功后，用户不应释放此PDF对象。

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

## 类成员变量说明

## ◆ e_Dests

FSDK::PDFNameTree::e_Dests
| static

名称树类型的枚举。

此枚举的值应单独使用。

"Dests"名称树。