Foxit PDF SDK

Public 成员函数 | 静态 Public 属性 | 所有成员列表
FSDK::Bookmark类 参考

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

## 静态 Public 属性
static | e_PosFirstChild
| 书签位置枚举。 更多...
static | e_PosFirstSiblingv
| 书签是另一个指定书签的第一个同级项。
static | e_PosLastChild
| 书签是另一个指定书签的最后一个子项。
static | e_PosLastSibling
| 书签是另一个指定书签的最后一个同级项。
static | e_PosNextSibling
| 书签是另一个指定书签的下一个同级项。
static | e_PosPrevSibling
| 书签是另一个指定书签的前一个同级项。
static | e_StyleBold
| 将书签标题显示为粗体文本。
static | e_StyleItalic
| 将书签标题显示为斜体文本。
static | e_StyleNormal
| 书签样式类型枚举。 更多...

## 详细描述

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

- 要访问父书签，请使用函数 FSDK.Bookmark.GetParent。
- 要访问第一个子书签，请使用函数 FSDK.Bookmark.GetFirstChild。
- 要访问下一个同级书签，请使用函数 FSDK.Bookmark.GetNextSibling。
- 要插入新书签，请使用函数 FSDK.Bookmark.Insert。
- 要移动书签，请使用函数 FSDK.Bookmark.MoveTo。

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

参见
  FSDK.PDFDoc

## 成员函数说明

## ◆ constructor()

FSDK::Bookmark::constructor | ( | pdf_doc | ,
|  | bookmark_dict |
| ) |  |

带参数的构造函数。

参数

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

## ◆ GetAction()

FSDK::Bookmark::GetAction | ( |  | ) |

获取动作。

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

返回
  动作对象。

## ◆ GetColor()

FSDK::Bookmark::GetColor | ( |  | ) |

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

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

返回
  用于显示标题的颜色。格式：0xRRGGBB。

## ◆ GetDestination()

FSDK::Bookmark::GetDestination | ( |  | ) |

获取目标位置。

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

返回
  目标位置对象。

## ◆ GetDict()

FSDK::Bookmark::GetDict | ( |  | ) |

获取当前书签的 PDF 字典。

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

## ◆ GetFirstChild()

FSDK::Bookmark::GetFirstChild | ( |  | ) |

获取第一个子书签。

返回
  第一个子书签对象。

## ◆ GetNextSibling()

FSDK::Bookmark::GetNextSibling | ( |  | ) |

获取下一个同级书签。

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

返回
  下一个同级书签对象。

## ◆ GetParent()

FSDK::Bookmark::GetParent | ( |  | ) |

获取父书签。

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

返回
  父书签对象。

## ◆ GetStyle()

FSDK::Bookmark::GetStyle | ( |  | ) |

获取样式。

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

返回
  书签样式的值。请参考从 FSDK.Bookmark.e_StyleNormal 开始的值， 这将是这些值之一或组合。

## ◆ GetTitle()

FSDK::Bookmark::GetTitle | ( |  | ) |

获取标题。

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

返回
  标题字符串。

## ◆ HasChild()

FSDK::Bookmark::HasChild | ( |  | ) |

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

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

## ◆ Insert()

FSDK::Bookmark::Insert | ( | title | ,
|  | position |
| ) |  |

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

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

参数

  [in] | title | 新书签的标题字符串。不应为空字符串。
  [in] | position | 基于当前书签插入新书签项的位置。 请参考从 FSDK.Bookmark.e_PosFirstChild 开始的值， 这应该是这些值之一。 如果当前书签就是"根书签"，参数 position 只能是 FSDK.Bookmark.e_PosFirstChild 或 FSDK.Bookmark.e_PosLastChild。

返回
  新书签对象。

## ◆ IsEmpty()

FSDK::Bookmark::IsEmpty | ( |  | ) |

检查当前对象是否为空。

当前对象为空时，表示当前对象无用。

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

## ◆ IsFirstChild()

FSDK::Bookmark::IsFirstChild | ( |  | ) |

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

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

## ◆ IsLastChild()

FSDK::Bookmark::IsLastChild | ( |  | ) |

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

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

## ◆ IsRoot()

FSDK::Bookmark::IsRoot | ( |  | ) |

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

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

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

## ◆ MoveTo()

FSDK::Bookmark::MoveTo | ( | dest_bookmark | ,
|  | position |
| ) |  |

将当前书签移动为另一个书签的子项或同级项。

如果当前书签是由函数 FSDK.PDFDoc.GetRootBookmark 或 FSDK.PDFDoc.CreateRootBookmark 返回的，这意味着它是"根书签"， 并且它不能被移动为书签树中任何书签的子项或同级项。 在这种情况下，此函数将直接返回 false。

参数

  [in] | dest_bookmark | 目标书签。它不应是当前书签本身或 当前书签的任何后代。 当前书签将被移动为目标书签的子项或同级项。
  [in] | position | 当前书签要移动到的位置， 基于参数 destBookmark。请参考从 FSDK.Bookmark.e_PosFirstChild 开始的值，这应该是这些值之一。

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

## ◆ RemoveAction()

FSDK::Bookmark::RemoveAction | ( |  | ) |

移除动作。

移除书签的动作时，书签的目标位置也将同时被移除。
如果当前书签是由函数 FSDK.PDFDoc.GetRootBookmark 或 FSDK.PDFDoc.CreateRootBookmark 返回的，这意味着它是"根书签"， 并且没有任何动作信息。在这种情况下，此函数将直接返回 true。

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

## ◆ SetAction()

FSDK::Bookmark::SetAction | ( | action |  | ) |

设置动作。

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

参数

  [in] | action | 要设置的有效动作。当前仅支持以下类型作为新动作： FSDK.Action.e_TypeGoto、FSDK.Action.e_TypeURI、 FSDK.Action.e_TypeJavaScript、FSDK.Action.e_TypeNamed、 FSDK.Action.e_TypeGoToR、FSDK.Action.e_TypeGoToE、 FSDK.Action.e_TypeSubmitForm、FSDK.Action.e_TypeResetForm、 FSDK.Action.e_TypeHide、FSDK.Action.e_TypeLaunch、 FSDK.Action.e_TypeImportData、FSDK.Action.e_TypeRendition。

返回
  无。

## ◆ SetColor()

FSDK::Bookmark::SetColor | ( | color |  | ) |

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

如果当前书签是由函数 FSDK.PDFDoc.GetRootBookmark 或 FSDK.PDFDoc.CreateRootBookmark 返回的，这意味着它是"根书签"， 并且没有颜色。在这种情况下，此函数将直接返回而不执行任何操作。

参数

  [in] | color | 用于显示标题的新颜色。格式：0xRRGGBB。

返回
  无。

## ◆ SetDestination()

FSDK::Bookmark::SetDestination | ( | destination |  | ) |

设置目标位置。

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

参数

  [in] | destination | 有效的目标位置。

返回
  无。

## ◆ SetStyle()

FSDK::Bookmark::SetStyle | ( | style |  | ) |

设置样式。

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

参数

  [in] | style | 新书签样式。请参考从 FSDK.Bookmark.e_StyleNormal 开始的值， 这可以是这些值之一或组合。 如果 style 无效，将默认设置为 FSDK.Bookmark.e_StyleNormal。

返回
  无。

## ◆ SetTitle()

FSDK::Bookmark::SetTitle | ( | title |  | ) |

设置标题。

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

参数

  [in] | title | 新标题字符串。不应为空字符串。

返回
  无。

## 类成员变量说明

## ◆ e_PosFirstChild

FSDK::Bookmark::e_PosFirstChild
| static

书签位置枚举。

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

## ◆ e_StyleNormal

FSDK::Bookmark::e_StyleNormal
| static

书签样式类型枚举。

此枚举的值可以单独使用或组合使用。将书签标题显示为普通文本。