Foxit PDF SDK
fsdk.PDFNameTree类 参考

Public 成员函数

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

详细描述

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

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

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

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

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

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

    • 目标名称树(类型为fsdk.PDFNameTreeE_Dests ), 将名称字符串映射到目标。此名称树中的值应该是目标数组 (或对目标数组的引用对象)。

    • JavaScript名称树(类型为fsdk.PDFNameTreeE_JavaScript ), 将名称字符串映射到文档级JavaScript操作。此名称树中的值应该是 JavaScript操作字典(或对JavaScript操作字典的引用对象)。

    • 嵌入文件名称树,类型为fsdk.PDFNameTreeE_EmbeddedFiles ,将名称字符串映射到 嵌入文件流的文件规范。此名称树中的值应该是 文件规范字典(或对文件规范字典的引用对象), 其中包含嵌入文件流。

    • 页面名称树,类型为fsdk.PDFNameTreeE_Pages ,将名称字符串映射到 页面。此名称树中的值应该是对页面字典的引用对象。

    • 模板名称树,类型为fsdk.PDFNameTreeE_Templates ,将名称字符串映射到 隐藏页面。此名称树中的值应该是对隐藏页面字典的引用对象。 请使用函数fsdk.PDFDoc.HidePageTemplate 来隐藏页面。

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

参见
fsdk.Attachments

成员函数说明

◆ Add()

def fsdk.PDFNameTree.Add (   name,
  pdf_object 
)

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

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

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

◆ GetCount()

def fsdk.PDFNameTree.GetCount ( )

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

返回
元素数量。

◆ GetName()

def fsdk.PDFNameTree.GetName (   index)

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

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

◆ GetObj()

def fsdk.PDFNameTree.GetObj (   name)

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

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

◆ GetType()

def fsdk.PDFNameTree.GetType ( )

获取当前名称树的类型。

返回
当前名称树的类型。请参考从fsdk.PDFNameTreeE_Dests 开始的值, 这将是这些值中的一个。

◆ HasName()

def fsdk.PDFNameTree.HasName (   name)

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

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

◆ IsEmpty()

def fsdk.PDFNameTree.IsEmpty ( )

检查当前对象是否为空。

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

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

◆ RemoveAllObjs()

def fsdk.PDFNameTree.RemoveAllObjs ( )

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

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

◆ RemoveObj()

def fsdk.PDFNameTree.RemoveObj (   name)

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

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

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

◆ Rename()

def fsdk.PDFNameTree.Rename (   old_name,
  new_name 
)

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

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

◆ SetObj()

def fsdk.PDFNameTree.SetObj (   name,
  pdf_object 
)

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

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