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

Public 类型

enum  Type {
  Type.e_Dests = 1, Type.e_JavaScript = 2, Type.e_EmbeddedFiles = 3, Type.e_Pages = 4,
  Type.e_Templates = 5
}
 名称树类型的枚举。 更多...
 

Public 成员函数

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

详细描述

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

  • 关联键和值 - 但通过不同的方式:在名称树中,键名被视为 其值对象的别名。这意味着,可以通过键名而不是 通过引用对象来引用值对象。
    名称树具有以下特点:

    • 名称树中的键名是有序的,同一名称树中的每个键名都是唯一的;

    • 与键名关联的值可以是任何类型的对象,具体取决于名称树的用途;

    • 名称树可以表示任意大的键值对集合,可以高效查找 而无需从PDF文件中读取整个数据结构。

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

    为了方便使用PDF文档中的嵌入文件(也称为附件), 请参考类foxit.pdf.Attachments

参见
foxit.pdf.Attachments

成员枚举类型说明

◆ Type

名称树类型的枚举。

此枚举的值应单独使用。

枚举值
e_Dests 

"Dests"名称树。

e_JavaScript 

"JavaScript"名称树。

e_EmbeddedFiles 

"EmbeddedFiles"名称树。

e_Pages 

"Pages"名称树。

e_Templates 

"Templates"名称树。

构造及析构函数说明

◆ PDFNameTree() [1/2]

foxit.pdf.objects.PDFNameTree.PDFNameTree ( PDFDoc  document,
PDFNameTree.Type  type 
)
inline

带参数的构造函数。

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

参数
[in]document有效的PDF文档对象。
[in]type名称树的类型。请参考从foxit.pdf.objects.PDFNameTree.Type.e_Dests 开始的值, 这应该是这些值中的一个。

◆ PDFNameTree() [2/2]

foxit.pdf.objects.PDFNameTree.PDFNameTree ( PDFNameTree  other)
inline

拷贝构造函数。

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

成员函数说明

◆ Add()

bool foxit.pdf.objects.PDFNameTree.Add ( string  name,
PDFObject  pdf_object 
)
inline

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

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

参数
[in]name新键名的字符串。这不应该是空字符串。 此新名称不应该已存在于当前名称树中。
[in]pdf_object要使用新名称设置的PDF对象。此PDF对象的类型应该 与当前名称树匹配;否则,输入的PDF对象无效。 请参考类PDFNameTree 的注释以获取更多详细信息。
此函数成功后,用户不应释放此PDF对象。
返回
true表示成功,而false表示失败。

◆ GetCount()

int foxit.pdf.objects.PDFNameTree.GetCount ( )
inline

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

返回
元素数量。

◆ GetName()

string foxit.pdf.objects.PDFNameTree.GetName ( int  index)
inline

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

参数
[in]index要检索的键名的索引。有效范围:从0到(count-1)。 count由函数PDFNameTree.GetCount 返回。
返回
表示键名的字符串。

◆ GetObj()

PDFObject foxit.pdf.objects.PDFNameTree.GetObj ( string  name)
inline

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

参数
[in]name键名的字符串。它不应该是空字符串。
返回
一个PDFObject 对象。返回的PDF对象的类型取决于当前名称树的用途。 请参考类PDFNameTree 的注释以获取更多详细信息。 如果未找到,此函数将返回null

◆ GetType()

PDFNameTree.Type foxit.pdf.objects.PDFNameTree.GetType ( )
inline

获取当前名称树的类型。

返回
当前名称树的类型。请参考从foxit.pdf.objects.PDFNameTree.Type.e_Dests 开始的值, 这将是这些值中的一个。

◆ HasName()

bool foxit.pdf.objects.PDFNameTree.HasName ( string  name)
inline

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

参数
[in]name表示要检查的键名的字符串。它不应该是空字符串。
返回
true表示指定的名称存在于当前名称树中, false表示指定的名称不存在于当前名称树中。

◆ IsEmpty()

bool foxit.pdf.objects.PDFNameTree.IsEmpty ( )
inline

检查当前对象是否为空。

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

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

◆ RemoveAllObjs()

bool foxit.pdf.objects.PDFNameTree.RemoveAllObjs ( )
inline

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

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

◆ RemoveObj()

bool foxit.pdf.objects.PDFNameTree.RemoveObj ( string  name)
inline

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

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

参数
[in]name要删除的键名的字符串。这不应该是空字符串。
返回
true表示成功,而false表示失败。

◆ Rename()

bool foxit.pdf.objects.PDFNameTree.Rename ( string  old_name,
string  new_name 
)
inline

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

参数
[in]old_name要重命名的旧键名的字符串。这不应该是空字符串。 此名称应该已存在于当前名称树中。
[in]new_name新键名的字符串。这不应该是空字符串。 此新名称不应该已存在于当前名称树中。
返回
true表示成功,而false表示失败。

◆ SetObj()

bool foxit.pdf.objects.PDFNameTree.SetObj ( string  name,
PDFObject  pdf_object 
)
inline

设置指定键名的值(作为PDF对象)。

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