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

Public 成员函数

 PDFNameTree (PDFDoc document, int type) throws com.foxit.sdk.PDFException
 带参数的构造函数。 更多...
 
 PDFNameTree ()
 构造函数。
 
 PDFNameTree (PDFNameTree other)
 拷贝构造函数。 更多...
 
boolean add (String name, PDFObject pdf_object) throws com.foxit.sdk.PDFException
 添加一个新的键名及其PDF对象作为值。 更多...
 
synchronized void delete ()
 直接清除C++相关资源。 更多...
 
int getCount () throws com.foxit.sdk.PDFException
 获取当前名称树中元素的数量。 更多...
 
String getName (int index) throws com.foxit.sdk.PDFException
 通过索引获取名称树中的键名。 更多...
 
PDFObject getObj (String name) throws com.foxit.sdk.PDFException
 获取指定键名的值(作为PDF对象)。 更多...
 
int getType () throws com.foxit.sdk.PDFException
 获取当前名称树的类型。 更多...
 
boolean hasName (String name) throws com.foxit.sdk.PDFException
 检查指定的键名是否存在于当前名称树中。 更多...
 
boolean isEmpty ()
 检查当前对象是否为空。 更多...
 
boolean removeAllObjs () throws com.foxit.sdk.PDFException
 从当前名称树中删除所有键名及其值(作为PDF对象)。 更多...
 
boolean removeObj (String name) throws com.foxit.sdk.PDFException
 从当前名称树中删除一个键名及其值(作为PDF对象)。 更多...
 
boolean rename (String old_name, String new_name) throws com.foxit.sdk.PDFException
 将现有键名重命名为新键名。 更多...
 
boolean setObj (String name, PDFObject pdf_object) throws com.foxit.sdk.PDFException
 设置指定键名的值(作为PDF对象)。 更多...
 
- Public 成员函数 继承自 com.foxit.sdk.common.Base
synchronized void delete ()
 直接清除C++相关资源。 更多...
 

静态 Public 属性

static final int e_Dests = 1
 "Dests"名称树。
 
static final int e_EmbeddedFiles = 3
 "EmbeddedFiles"名称树。
 
static final int e_JavaScript = 2
 "JavaScript"名称树。
 
static final int e_Pages = 4
 "Pages"名称树。
 
static final int e_Templates = 5
 "Templates"名称树。
 

详细描述

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

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

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

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

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

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

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

参见
com.foxit.sdk.pdf.Attachments

构造及析构函数说明

◆ PDFNameTree() [1/2]

com.foxit.sdk.pdf.objects.PDFNameTree.PDFNameTree ( PDFDoc  document,
int  type 
) throws com.foxit.sdk.PDFException

带参数的构造函数。

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

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

◆ PDFNameTree() [2/2]

com.foxit.sdk.pdf.objects.PDFNameTree.PDFNameTree ( PDFNameTree  other)

拷贝构造函数。

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

成员函数说明

◆ add()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.add ( String  name,
PDFObject  pdf_object 
) throws com.foxit.sdk.PDFException

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

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

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

◆ delete()

synchronized void com.foxit.sdk.pdf.objects.PDFNameTree.delete ( )

直接清除C++相关资源。

返回
无。
注解
一旦这个接口被调用,这个对象将不能再被使用。

◆ getCount()

int com.foxit.sdk.pdf.objects.PDFNameTree.getCount ( ) throws com.foxit.sdk.PDFException

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

返回
元素数量。

◆ getName()

String com.foxit.sdk.pdf.objects.PDFNameTree.getName ( int  index) throws com.foxit.sdk.PDFException

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

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

◆ getObj()

PDFObject com.foxit.sdk.pdf.objects.PDFNameTree.getObj ( String  name) throws com.foxit.sdk.PDFException

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

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

◆ getType()

int com.foxit.sdk.pdf.objects.PDFNameTree.getType ( ) throws com.foxit.sdk.PDFException

获取当前名称树的类型。

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

◆ hasName()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.hasName ( String  name) throws com.foxit.sdk.PDFException

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

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

◆ isEmpty()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.isEmpty ( )

检查当前对象是否为空。

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

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

◆ removeAllObjs()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.removeAllObjs ( ) throws com.foxit.sdk.PDFException

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

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

◆ removeObj()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.removeObj ( String  name) throws com.foxit.sdk.PDFException

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

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

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

◆ rename()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.rename ( String  old_name,
String  new_name 
) throws com.foxit.sdk.PDFException

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

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

◆ setObj()

boolean com.foxit.sdk.pdf.objects.PDFNameTree.setObj ( String  name,
PDFObject  pdf_object 
) throws com.foxit.sdk.PDFException

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

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