|
Foxit PDF SDK
|
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文档中定义的以下名称树关联:
目标名称树(类型为com.foxit.sdk.pdf.objects.PDFNameTree.e_Dests ), 将名称字符串映射到目标。此名称树中的值应该是目标数组 (或对目标数组的引用对象)。
JavaScript名称树(类型为com.foxit.sdk.pdf.objects.PDFNameTree.e_JavaScript ), 将名称字符串映射到文档级JavaScript操作。此名称树中的值应该是 JavaScript操作字典(或对JavaScript操作字典的引用对象)。
嵌入文件名称树,类型为com.foxit.sdk.pdf.objects.PDFNameTree.e_EmbeddedFiles ,将名称字符串映射到 嵌入文件流的文件规范。此名称树中的值应该是 文件规范字典(或对文件规范字典的引用对象), 其中包含嵌入文件流。
页面名称树,类型为com.foxit.sdk.pdf.objects.PDFNameTree.e_Pages ,将名称字符串映射到 页面。此名称树中的值应该是对页面字典的引用对象。
模板名称树,类型为com.foxit.sdk.pdf.objects.PDFNameTree.e_Templates ,将名称字符串映射到 隐藏页面。此名称树中的值应该是对隐藏页面字典的引用对象。 请使用函数pdf.PDFDoc.hidePageTemplate 来隐藏页面。
为了方便使用PDF文档中的嵌入文件(也称为附件), 请参考类com.foxit.sdk.pdf.Attachments 。
| 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 开始的值, 这应该是这些值中的一个。 |
| com.foxit.sdk.pdf.objects.PDFNameTree.PDFNameTree | ( | PDFNameTree | other | ) |
拷贝构造函数。
| [in] | other | 另一个PDF名称树对象。 |
| 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对象。 |
| synchronized void com.foxit.sdk.pdf.objects.PDFNameTree.delete | ( | ) |
直接清除C++相关资源。
| int com.foxit.sdk.pdf.objects.PDFNameTree.getCount | ( | ) | throws com.foxit.sdk.PDFException |
获取当前名称树中元素的数量。
| String com.foxit.sdk.pdf.objects.PDFNameTree.getName | ( | int | index | ) | throws com.foxit.sdk.PDFException |
通过索引获取名称树中的键名。
| [in] | index | 要检索的键名的索引。有效范围:从0到(count-1)。 count由函数PDFNameTree.getCount 返回。 |
| PDFObject com.foxit.sdk.pdf.objects.PDFNameTree.getObj | ( | String | name | ) | throws com.foxit.sdk.PDFException |
获取指定键名的值(作为PDF对象)。
| [in] | name | 键名的字符串。它不应该是空字符串。 |
| int com.foxit.sdk.pdf.objects.PDFNameTree.getType | ( | ) | throws com.foxit.sdk.PDFException |
获取当前名称树的类型。
| boolean com.foxit.sdk.pdf.objects.PDFNameTree.hasName | ( | String | name | ) | throws com.foxit.sdk.PDFException |
检查指定的键名是否存在于当前名称树中。
| [in] | name | 表示要检查的键名的字符串。它不应该是空字符串。 |
| boolean com.foxit.sdk.pdf.objects.PDFNameTree.isEmpty | ( | ) |
检查当前对象是否为空。
当当前对象为空时,这意味着当前对象无用。
| boolean com.foxit.sdk.pdf.objects.PDFNameTree.removeAllObjs | ( | ) | throws com.foxit.sdk.PDFException |
从当前名称树中删除所有键名及其值(作为PDF对象)。
| boolean com.foxit.sdk.pdf.objects.PDFNameTree.removeObj | ( | String | name | ) | throws com.foxit.sdk.PDFException |
从当前名称树中删除一个键名及其值(作为PDF对象)。
如果输入的名称在当前名称树中不存在,此函数将直接返回true。
| [in] | name | 要删除的键名的字符串。这不应该是空字符串。 |
| 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 | 新键名的字符串。这不应该是空字符串。 此新名称不应该已存在于当前名称树中。 |
| 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对象。 |