Foxit PDF SDK
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"名称树。