Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
com.foxit.sdk.pdf.Bookmark类 参考
类 com.foxit.sdk.pdf.Bookmark 继承关系图:

## Public 成员函数
| Bookmark (Bookmark other)
| 构造函数，使用另一个书签对象。 更多...
| Bookmark (PDFDoc pdf_doc, PDFDictionary bookmark_dict) throws com.foxit.sdk.PDFException
| 构造函数，带参数。 更多...
synchronized void | delete ()
| 直接清除C++相关资源。 更多...
Action | getAction () throws com.foxit.sdk.PDFException
| 获取动作。 更多...
long | getColor () throws com.foxit.sdk.PDFException
| 获取用于显示标题的颜色。 更多...
Destination | getDestination () throws com.foxit.sdk.PDFException
| 获取目标。 更多...
PDFDictionary | getDict () throws com.foxit.sdk.PDFException
| 获取当前书签的PDF字典。 更多...
Bookmark | getFirstChild () throws com.foxit.sdk.PDFException
| 获取第一个子书签。 更多...
Bookmark | getNextSibling () throws com.foxit.sdk.PDFException
| 获取下一个兄弟书签。 更多...
Bookmark | getParent () throws com.foxit.sdk.PDFException
| 获取父书签。 更多...
int | getStyle () throws com.foxit.sdk.PDFException
| 获取用于显示标题的样式。 更多...
String | getTitle () throws com.foxit.sdk.PDFException
| 获取标题。 更多...
boolean | hasChild () throws com.foxit.sdk.PDFException
| 检查当前书签是否有子书签。 更多...
Bookmark | insert (String title, int position) throws com.foxit.sdk.PDFException
| 根据与当前书签的关系位置插入新书签。 更多...
boolean | isEmpty ()
| 检查当前对象是否为空。 更多...
boolean | isFirstChild () throws com.foxit.sdk.PDFException
| 检查当前书签是否为其父书签的第一个子书签。 更多...
boolean | isLastChild () throws com.foxit.sdk.PDFException
| 检查当前书签是否为其父书签的最后一个子书签。 更多...
boolean | isRoot () throws com.foxit.sdk.PDFException
| 检查当前书签是否为根书签。 更多...
boolean | moveTo (Bookmark dest_bookmark, int position) throws com.foxit.sdk.PDFException
| 将当前书签移动为另一个书签的子书签或兄弟书签。 更多...
boolean | removeAction () throws com.foxit.sdk.PDFException
| 删除动作。 更多...
void | setAction (Action action) throws com.foxit.sdk.PDFException
| 设置动作。 更多...
void | setColor (long color) throws com.foxit.sdk.PDFException
| 设置用于显示标题的颜色。 更多...
void | setDestination (Destination destination) throws com.foxit.sdk.PDFException
| 设置目标。 更多...
void | setStyle (int style) throws com.foxit.sdk.PDFException
| 设置用于显示标题的样式。 更多...
void | setTitle (String title) throws com.foxit.sdk.PDFException
| 设置标题。 更多...

## 静态 Public 属性
static final int | e_PosFirstChild = 0
| 书签是另一个指定书签的第一个子书签。
static final int | e_PosFirstSibling = 4
| 书签是另一个指定书签的第一个兄弟书签。
static final int | e_PosLastChild = 1
| 书签是另一个指定书签的最后一个子书签。
static final int | e_PosLastSibling = 5
| 书签是另一个指定书签的最后一个兄弟书签。
static final int | e_PosNextSibling = 3
| 书签是另一个指定书签的后一个兄弟书签。
static final int | e_PosPrevSibling = 2
| 书签是另一个指定书签的前一个兄弟书签。
static final int | e_StyleBold = 0x02
| 将书签标题显示为粗体文本。
static final int | e_StyleItalic = 0x01
| 将书签标题显示为斜体文本。
static final int | e_StyleNormal = 0x00
| 将书签标题显示为普通文本。

## 详细描述

PDF书签也被称为"大纲"。它是一个树状结构的层次结构。它允许用户通过选择书签轻松地浏览PDF文档。 一个书签包含一个目标或动作，用来指示当用户选择它时如何响应。
为了获取/设置书签树，必须首先调用函数 PDFDoc.getRootBookmark 来 获取整个书签树的根。如果"根书签"不存在，可以调用函数 PDFDoc.createRootBookmark 来创建一个新的"根书签"。 在这里，"根书签"是一个抽象对象。它代表PDF文档的"大纲"。 有关"大纲"的更多详细信息，请参阅PDF参考文档1.7的第8.2.3节。 "根书签"只能有一些子书签，但没有父书签， 没有下一个兄弟书签或任何数据（包括书签数据、目标数据和动作数据）。 并且"根书签"不能在应用程序UI上显示，因为它没有数据。因此，对于根书签， 只能使用函数 Bookmark.getFirstChild 。
从根书签开始，可以遍历书签树并访问每个书签节点。
此类提供了几个函数来从当前书签获取/设置其他书签。例如：

- 要访问父书签，请使用函数 Bookmark.getParent 。
- 要访问第一个子书签，请使用函数 Bookmark.getFirstChild 。
- 要访问下一个兄弟书签，请使用函数 Bookmark.getNextSibling 。
- 要插入新书签，请使用函数 Bookmark.insert 。
- 要移动书签，请使用函数 Bookmark.moveTo 。

此类还提供了获取/设置PDF书签数据的函数。

参见
  PDFDoc

## 构造及析构函数说明

## ◆ Bookmark() [1/2]

com.foxit.sdk.pdf.Bookmark.Bookmark | ( | PDFDoc | pdf_doc,
|  | PDFDictionary | bookmark_dict
| ) |  | throws com.foxit.sdk.PDFException

构造函数，带参数。

参数

  [in] | pdf_doc | 一个有效的PDF文档对象。
  [in] | bookmark_dict | 表示书签的PDF字典。此PDF字典应该已经存在于 参数pdf_doc所表示的PDF文档中。

## ◆ Bookmark() [2/2]

com.foxit.sdk.pdf.Bookmark.Bookmark | ( | Bookmark | other | ) |

构造函数，使用另一个书签对象。

参数

  [in] | other | 另一个书签对象。

## 成员函数说明

## ◆ delete()

synchronized void com.foxit.sdk.pdf.Bookmark.delete | ( |  | ) |

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

返回
  无。

注解
  一旦这个接口被调用，这个对象将不能再被使用。

重载 com.foxit.sdk.common.Base .

## ◆ getAction()

Action com.foxit.sdk.pdf.Bookmark.getAction | ( |  | ) | throws com.foxit.sdk.PDFException

获取动作。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何动作信息。在这种情况下，此函数将 返回一个动作对象，其函数 actions.Action.isEmpty 返回 true。

返回
  一个动作对象。

## ◆ getColor()

long com.foxit.sdk.pdf.Bookmark.getColor | ( |  | ) | throws com.foxit.sdk.PDFException

获取用于显示标题的颜色。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有颜色信息。在这种情况下，此函数将返回0x000000。

返回
  颜色值。格式：0xRRGGBB。

## ◆ getDestination()

Destination com.foxit.sdk.pdf.Bookmark.getDestination | ( |  | ) | throws com.foxit.sdk.PDFException

获取目标。

书签的目标是当前文档中书签可以"跳转到"的某个位置。 如果书签不能"跳转到"当前文档中的任何位置，这意味着无法检索目标信息， 此函数将返回一个目标对象，其函数 Destination.isEmpty 返回 true。
如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何目标信息。在这种情况下，此函数将 返回一个目标对象，其函数 Destination.isEmpty 返回 true。

返回
  目标对象。

## ◆ getDict()

PDFDictionary com.foxit.sdk.pdf.Bookmark.getDict | ( |  | ) | throws com.foxit.sdk.PDFException

获取当前书签的PDF字典。

返回
  PDF字典。如果有任何错误，此函数将返回null。

## ◆ getFirstChild()

Bookmark com.foxit.sdk.pdf.Bookmark.getFirstChild | ( |  | ) | throws com.foxit.sdk.PDFException

获取第一个子书签。

返回
  第一个子书签对象。

## ◆ getNextSibling()

Bookmark com.foxit.sdk.pdf.Bookmark.getNextSibling | ( |  | ) | throws com.foxit.sdk.PDFException

获取下一个兄弟书签。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何兄弟书签。在这种情况下，此函数将 返回一个书签对象，其函数 Bookmark.isEmpty 返回 true。

返回
  下一个兄弟书签对象。

## ◆ getParent()

Bookmark com.foxit.sdk.pdf.Bookmark.getParent | ( |  | ) | throws com.foxit.sdk.PDFException

获取父书签。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有父书签。在这种情况下，此函数将 返回一个书签对象，其函数 Bookmark.isEmpty 返回 true。

返回
  父书签对象。

## ◆ getStyle()

int com.foxit.sdk.pdf.Bookmark.getStyle | ( |  | ) | throws com.foxit.sdk.PDFException

获取用于显示标题的样式。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有样式信息。在这种情况下，此函数将返回 com.foxit.sdk.pdf.Bookmark.e_StyleNormal 。

返回
  样式值。请参阅从 com.foxit.sdk.pdf.Bookmark.e_StyleNormal 开始的值， 这可以是这些值中的一个或它们的组合。

## ◆ getTitle()

String com.foxit.sdk.pdf.Bookmark.getTitle | ( |  | ) | throws com.foxit.sdk.PDFException

获取标题。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有标题。在这种情况下，此函数将返回一个空字符串。

返回
  标题字符串。

## ◆ hasChild()

boolean com.foxit.sdk.pdf.Bookmark.hasChild | ( |  | ) | throws com.foxit.sdk.PDFException

检查当前书签是否有子书签。

返回
  true表示当前书签有子书签，false表示 当前书签没有任何子书签。

## ◆ insert()

Bookmark com.foxit.sdk.pdf.Bookmark.insert | ( | String | title,
|  | int | position
| ) |  | throws com.foxit.sdk.PDFException

根据与当前书签的关系位置插入新书签。

对于新书签，颜色默认为0x000000，样式默认为 com.foxit.sdk.pdf.Bookmark.e_StyleNormal 。

参数

  [in] | title | 新书签的标题字符串。它不应该是空字符串。
  [in] | position | 要插入的新书签项目的位置，基于当前书签。 请参阅从 com.foxit.sdk.pdf.Bookmark.e_PosFirstChild 开始的值， 这应该是这些值中的一个。 如果当前书签只是"根书签"，参数position只能是 com.foxit.sdk.pdf.Bookmark.e_PosFirstChild 或 com.foxit.sdk.pdf.Bookmark.e_PosLastChild 。

返回
  一个新的书签对象。

## ◆ isEmpty()

boolean com.foxit.sdk.pdf.Bookmark.isEmpty | ( |  | ) |

检查当前对象是否为空。

当当前对象为空时，意味着当前对象是无用的。

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

## ◆ isFirstChild()

boolean com.foxit.sdk.pdf.Bookmark.isFirstChild | ( |  | ) | throws com.foxit.sdk.PDFException

检查当前书签是否为其父书签的第一个子书签。

返回
  true表示当前书签是其父书签的第一个子书签， false表示不是。

## ◆ isLastChild()

boolean com.foxit.sdk.pdf.Bookmark.isLastChild | ( |  | ) | throws com.foxit.sdk.PDFException

检查当前书签是否为其父书签的最后一个子书签。

返回
  true表示当前书签是其父书签的最后一个子书签， false表示不是。

## ◆ isRoot()

boolean com.foxit.sdk.pdf.Bookmark.isRoot | ( |  | ) | throws com.foxit.sdk.PDFException

检查当前书签是否为根书签。

"根书签"是一个抽象对象。它代表PDF文档的"大纲"。 有关"大纲"的更多详细信息，请参阅PDF参考文档1.7的第8.2.3节。 "根书签"只能有一些子书签，但没有父书签， 没有下一个兄弟书签或任何数据（包括书签数据、目标数据和动作数据）。 并且"根书签"不能在应用程序UI上显示，因为它没有数据。

返回
  true表示当前书签是根书签，false表示不是。

## ◆ moveTo()

boolean com.foxit.sdk.pdf.Bookmark.moveTo | ( | Bookmark | dest_bookmark,
|  | int | position
| ) |  | throws com.foxit.sdk.PDFException

将当前书签移动为另一个书签的子书签或兄弟书签。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，不能移动。在这种情况下，此函数将返回false。

参数

  [in] | dest_bookmark | 目标书签，当前书签将移动为其子书签或兄弟书签。
  [in] | position | 当前书签与目标书签的位置关系。 请参阅从 com.foxit.sdk.pdf.Bookmark.e_PosFirstChild 开始的值， 这应该是这些值中的一个。

返回
  true表示成功，false表示失败。

## ◆ removeAction()

boolean com.foxit.sdk.pdf.Bookmark.removeAction | ( |  | ) | throws com.foxit.sdk.PDFException

删除动作。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何动作信息。在这种情况下，此函数将 直接返回true。

返回
  true表示成功，false表示失败。

## ◆ setAction()

void com.foxit.sdk.pdf.Bookmark.setAction | ( | Action | action | ) | throws com.foxit.sdk.PDFException

设置动作。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何动作信息。在这种情况下，此函数将 直接返回而不做任何事情。

参数

  [in] | action | 一个有效的动作对象。

返回
  无。

## ◆ setColor()

void com.foxit.sdk.pdf.Bookmark.setColor | ( | long | color | ) | throws com.foxit.sdk.PDFException

设置用于显示标题的颜色。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有颜色信息。在这种情况下，此函数将直接返回而不做任何事情。

参数

  [in] | color | 颜色值。格式：0xRRGGBB。

返回
  无。

## ◆ setDestination()

void com.foxit.sdk.pdf.Bookmark.setDestination | ( | Destination | destination | ) | throws com.foxit.sdk.PDFException

设置目标。

书签的目标是当前文档中书签可以"跳转到"的某个位置。
如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有任何目标信息。在这种情况下，此函数将 直接返回而不做任何事情。

参数

  [in] | destination | 一个有效的目标。

返回
  无。

## ◆ setStyle()

void com.foxit.sdk.pdf.Bookmark.setStyle | ( | int | style | ) | throws com.foxit.sdk.PDFException

设置用于显示标题的样式。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有样式信息。在这种情况下，此函数将直接返回而不做任何事情。

参数

  [in] | style | 样式值。请参阅从 com.foxit.sdk.pdf.Bookmark.e_StyleNormal 开始的值， 这可以是这些值中的一个或它们的组合。 如果style无效，默认情况下将设置 com.foxit.sdk.pdf.Bookmark.e_StyleNormal 。

返回
  无。

## ◆ setTitle()

void com.foxit.sdk.pdf.Bookmark.setTitle | ( | String | title | ) | throws com.foxit.sdk.PDFException

设置标题。

如果当前书签由函数 PDFDoc.getRootBookmark 或 PDFDoc.createRootBookmark 返回， 这意味着它是"根书签"，它没有标题。在这种情况下，此函数将直接返回而不做任何事情。

参数

  [in] | title | 新的标题字符串。它不应该是空字符串。

返回
  无。