Foxit PDF SDK

Public 类型 | Public 成员函数 | 所有成员列表
foxit.pdf.Bookmark类 参考
类 foxit.pdf.Bookmark 继承关系图:

## Public 类型
enum | Position { Position.e_PosFirstChild = 0, Position.e_PosLastChild = 1, Position.e_PosPrevSibling = 2, Position.e_PosNextSibling = 3, Position.e_PosFirstSibling = 4, Position.e_PosLastSibling = 5 }
| 书签位置的枚举。 更多...
enum | Style { Style.e_StyleNormal = 0x00, Style.e_StyleItalic = 0x01, Style.e_StyleBold = 0x02 }
| 书签样式类型的枚举。 更多...

## Public 成员函数
| Bookmark (foxit.pdf.PDFDoc pdf_doc, PDFDictionary bookmark_dict)
| 构造函数，带参数。 更多...
| Bookmark (Bookmark other)
| 构造函数，使用另一个书签对象。 更多...
Action | GetAction ()
| 获取动作。 更多...
int | GetColor ()
| 获取用于显示标题的颜色。 更多...
Destination | GetDestination ()
| 获取目标。 更多...
PDFDictionary | GetDict ()
| 获取当前书签的PDF字典。 更多...
Bookmark | GetFirstChild ()
| 获取第一个子书签。 更多...
Bookmark | GetNextSibling ()
| 获取下一个兄弟书签。 更多...
Bookmark | GetParent ()
| 获取父书签。 更多...
int | GetStyle ()
| 获取用于显示标题的样式。 更多...
string | GetTitle ()
| 获取标题。 更多...
bool | HasChild ()
| 检查当前书签是否有子书签。 更多...
Bookmark | Insert (string title, Bookmark.Position position)
| 根据与当前书签的关系位置插入新书签。 更多...
bool | IsEmpty ()
| 检查当前对象是否为空。 更多...
bool | IsFirstChild ()
| 检查当前书签是否为其父书签的第一个子书签。 更多...
bool | IsLastChild ()
| 检查当前书签是否为其父书签的最后一个子书签。 更多...
bool | IsRoot ()
| 检查当前书签是否为根书签。 更多...
bool | MoveTo (Bookmark dest_bookmark, Bookmark.Position position)
| 将当前书签移动为另一个书签的子书签或兄弟书签。 更多...
bool | RemoveAction ()
| 删除动作。 更多...
void | SetAction (Action action)
| 设置动作。 更多...
void | SetColor (int color)
| 设置用于显示标题的颜色。 更多...
void | SetDestination (Destination destination)
| 设置目标。 更多...
void | SetStyle (int style)
| 设置用于显示标题的样式。 更多...
void | SetTitle (string title)
| 设置标题。 更多...

## 详细描述

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

## 成员枚举类型说明

## ◆ Position

enum foxit.pdf.Bookmark.Position
| strong

书签位置的枚举。

此枚举的值应单独使用。
实际上，"书签位置"是指一个书签与另一个书签之间的关系。

枚举值
e_PosFirstChild | 书签是另一个指定书签的第一个子书签。
e_PosLastChild | 书签是另一个指定书签的最后一个子书签。
e_PosPrevSibling | 书签是另一个指定书签的前一个兄弟书签。
e_PosNextSibling | 书签是另一个指定书签的后一个兄弟书签。
e_PosFirstSibling | 书签是另一个指定书签的第一个兄弟书签。
e_PosLastSibling | 书签是另一个指定书签的最后一个兄弟书签。

## ◆ Style

enum foxit.pdf.Bookmark.Style
| strong

书签样式类型的枚举。

此枚举的值可以单独使用或组合使用。

枚举值
e_StyleNormal | 将书签标题显示为普通文本。
e_StyleItalic | 将书签标题显示为斜体文本。
e_StyleBold | 将书签标题显示为粗体文本。

## 构造及析构函数说明

## ◆ Bookmark() [1/2]

foxit.pdf.Bookmark.Bookmark | ( | foxit.pdf.PDFDoc | pdf_doc,
|  | PDFDictionary | bookmark_dict
| ) |  |
| inline

构造函数，带参数。

参数

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

## ◆ Bookmark() [2/2]

foxit.pdf.Bookmark.Bookmark | ( | Bookmark | other | ) |
| inline

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

参数

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

## 成员函数说明

## ◆ GetAction()

Action foxit.pdf.Bookmark.GetAction | ( |  | ) |
| inline

获取动作。

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

返回
  一个动作对象。

## ◆ GetColor()

int foxit.pdf.Bookmark.GetColor | ( |  | ) |
| inline

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

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

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

## ◆ GetDestination()

Destination foxit.pdf.Bookmark.GetDestination | ( |  | ) |
| inline

获取目标。

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

返回
  目标对象。

## ◆ GetDict()

PDFDictionary foxit.pdf.Bookmark.GetDict | ( |  | ) |
| inline

获取当前书签的PDF字典。

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

## ◆ GetFirstChild()

Bookmark foxit.pdf.Bookmark.GetFirstChild | ( |  | ) |
| inline

获取第一个子书签。

返回
  第一个子书签对象。

## ◆ GetNextSibling()

Bookmark foxit.pdf.Bookmark.GetNextSibling | ( |  | ) |
| inline

获取下一个兄弟书签。

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

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

## ◆ GetParent()

Bookmark foxit.pdf.Bookmark.GetParent | ( |  | ) |
| inline

获取父书签。

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

返回
  父书签对象。

## ◆ GetStyle()

int foxit.pdf.Bookmark.GetStyle | ( |  | ) |
| inline

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

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

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

## ◆ GetTitle()

string foxit.pdf.Bookmark.GetTitle | ( |  | ) |
| inline

获取标题。

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

返回
  标题字符串。

## ◆ HasChild()

bool foxit.pdf.Bookmark.HasChild | ( |  | ) |
| inline

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

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

## ◆ Insert()

Bookmark foxit.pdf.Bookmark.Insert | ( | string | title,
|  | Bookmark.Position | position
| ) |  |
| inline

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

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

参数

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

返回
  一个新的书签对象。

## ◆ IsEmpty()

bool foxit.pdf.Bookmark.IsEmpty | ( |  | ) |
| inline

检查当前对象是否为空。

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

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

## ◆ IsFirstChild()

bool foxit.pdf.Bookmark.IsFirstChild | ( |  | ) |
| inline

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

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

## ◆ IsLastChild()

bool foxit.pdf.Bookmark.IsLastChild | ( |  | ) |
| inline

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

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

## ◆ IsRoot()

bool foxit.pdf.Bookmark.IsRoot | ( |  | ) |
| inline

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

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

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

## ◆ MoveTo()

bool foxit.pdf.Bookmark.MoveTo | ( | Bookmark | dest_bookmark,
|  | Bookmark.Position | position
| ) |  |
| inline

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

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

参数

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

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

## ◆ RemoveAction()

bool foxit.pdf.Bookmark.RemoveAction | ( |  | ) |
| inline

删除动作。

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

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

## ◆ SetAction()

void foxit.pdf.Bookmark.SetAction | ( | Action | action | ) |
| inline

设置动作。

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

参数

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

返回
  无。

## ◆ SetColor()

void foxit.pdf.Bookmark.SetColor | ( | int | color | ) |
| inline

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

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

参数

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

返回
  无。

## ◆ SetDestination()

void foxit.pdf.Bookmark.SetDestination | ( | Destination | destination | ) |
| inline

设置目标。

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

参数

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

返回
  无。

## ◆ SetStyle()

void foxit.pdf.Bookmark.SetStyle | ( | int | style | ) |
| inline

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

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

参数

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

返回
  无。

## ◆ SetTitle()

void foxit.pdf.Bookmark.SetTitle | ( | string | title | ) |
| inline

设置标题。

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

参数

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

返回
  无。