Foxit PDF SDK
foxit::pdf::Bookmark类 参考
类 foxit::pdf::Bookmark 继承关系图:
foxit::Base

Public 类型

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

Public 成员函数

 Bookmark (const PDFDoc &pdf_doc, objects::PDFDictionary *bookmark_dict)
 构造函数,带参数。 更多...
 
 Bookmark (const Bookmark &other)
 构造函数,使用另一个书签对象。 更多...
 
 ~Bookmark ()
 析构函数。
 
actions::Action GetAction ()
 获取动作。 更多...
 
uint32 GetColor ()
 获取用于显示标题的颜色。 更多...
 
Destination GetDestination ()
 获取目标。 更多...
 
objects::PDFDictionaryGetDict () const
 获取当前书签的PDF字典。 更多...
 
Bookmark GetFirstChild ()
 获取第一个子书签。 更多...
 
Bookmark GetNextSibling ()
 获取下一个兄弟书签。 更多...
 
Bookmark GetParent ()
 获取父书签。 更多...
 
uint32 GetStyle ()
 获取用于显示标题的样式。 更多...
 
WString GetTitle () const
 获取标题。 更多...
 
bool HasChild ()
 检查当前书签是否有子书签。 更多...
 
Bookmark Insert (const WString &title, Position position)
 根据与当前书签的关系位置插入新书签。 更多...
 
bool IsEmpty () const
 检查当前对象是否为空。 更多...
 
bool IsFirstChild ()
 检查当前书签是否为其父书签的第一个子书签。 更多...
 
bool IsLastChild ()
 检查当前书签是否为其父书签的最后一个子书签。 更多...
 
bool IsRoot ()
 检查当前书签是否为根书签。 更多...
 
bool MoveTo (const Bookmark &dest_bookmark, Position position)
 将当前书签移动为另一个书签的子书签或兄弟书签。 更多...
 
bool operator != (const Bookmark &other) const
 不相等操作符。 更多...
 
Bookmarkoperator= (const Bookmark &other)
 赋值操作符。 更多...
 
bool operator== (const Bookmark &other) const
 相等操作符。 更多...
 
bool RemoveAction ()
 删除动作。 更多...
 
void SetAction (const actions::Action &action)
 设置动作。 更多...
 
void SetColor (uint32 color)
 设置用于显示标题的颜色。 更多...
 
void SetDestination (const Destination &destination)
 设置目标。 更多...
 
void SetStyle (uint32 style)
 设置用于显示标题的样式。 更多...
 
void SetTitle (const WString &title)
 设置标题。 更多...
 
- Public 成员函数 继承自 foxit::Base
FS_HANDLE Handle () const
 获取当前对象的句柄。 更多...
 

详细描述

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

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

参见
PDFDoc

成员枚举类型说明

◆ Position

书签位置的枚举。

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

枚举值
e_PosFirstChild 

书签是另一个指定书签的第一个子书签。

e_PosLastChild 

书签是另一个指定书签的最后一个子书签。

e_PosPrevSibling 

书签是另一个指定书签的前一个兄弟书签。

e_PosNextSibling 

书签是另一个指定书签的后一个兄弟书签。

e_PosFirstSibling 

书签是另一个指定书签的第一个兄弟书签。

e_PosLastSibling 

书签是另一个指定书签的最后一个兄弟书签。

◆ Style

书签样式类型的枚举。

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

枚举值
e_StyleNormal 

将书签标题显示为普通文本。

e_StyleItalic 

将书签标题显示为斜体文本。

e_StyleBold 

将书签标题显示为粗体文本。

构造及析构函数说明

◆ Bookmark() [1/2]

foxit::pdf::Bookmark::Bookmark ( const PDFDoc pdf_doc,
objects::PDFDictionary bookmark_dict 
)

构造函数,带参数。

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

◆ Bookmark() [2/2]

foxit::pdf::Bookmark::Bookmark ( const Bookmark other)

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

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

成员函数说明

◆ GetAction()

actions::Action foxit::pdf::Bookmark::GetAction ( )

获取动作。

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

返回
一个动作对象。

◆ GetColor()

uint32 foxit::pdf::Bookmark::GetColor ( )

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

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

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

◆ GetDestination()

Destination foxit::pdf::Bookmark::GetDestination ( )

获取目标。

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

返回
目标对象。

◆ GetDict()

objects::PDFDictionary* foxit::pdf::Bookmark::GetDict ( ) const

获取当前书签的PDF字典。

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

◆ GetFirstChild()

Bookmark foxit::pdf::Bookmark::GetFirstChild ( )

获取第一个子书签。

返回
第一个子书签对象。

◆ GetNextSibling()

Bookmark foxit::pdf::Bookmark::GetNextSibling ( )

获取下一个兄弟书签。

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

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

◆ GetParent()

Bookmark foxit::pdf::Bookmark::GetParent ( )

获取父书签。

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

返回
父书签对象。

◆ GetStyle()

uint32 foxit::pdf::Bookmark::GetStyle ( )

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

如果当前书签由函数 PDFDoc::GetRootBookmarkPDFDoc::CreateRootBookmark 返回, 这意味着它是"根书签",它没有样式信息。在这种情况下,此函数将返回 Bookmark::e_StyleNormal

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

◆ GetTitle()

WString foxit::pdf::Bookmark::GetTitle ( ) const

获取标题。

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

返回
标题字符串。

◆ HasChild()

bool foxit::pdf::Bookmark::HasChild ( )

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

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

◆ Insert()

Bookmark foxit::pdf::Bookmark::Insert ( const WString title,
Position  position 
)

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

对于新书签,颜色默认为0x000000,样式默认为 Bookmark::e_StyleNormal

参数
[in]title新书签的标题字符串。它不应该是空字符串。
[in]position要插入的新书签项目的位置,基于当前书签。 请参阅从 Bookmark::e_PosFirstChild 开始的值, 这应该是这些值中的一个。
如果当前书签只是"根书签",参数position只能是 Bookmark::e_PosFirstChildBookmark::e_PosLastChild
返回
一个新的书签对象。

◆ IsEmpty()

bool foxit::pdf::Bookmark::IsEmpty ( ) const

检查当前对象是否为空。

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

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

◆ IsFirstChild()

bool foxit::pdf::Bookmark::IsFirstChild ( )

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

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

◆ IsLastChild()

bool foxit::pdf::Bookmark::IsLastChild ( )

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

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

◆ IsRoot()

bool foxit::pdf::Bookmark::IsRoot ( )

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

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

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

◆ MoveTo()

bool foxit::pdf::Bookmark::MoveTo ( const Bookmark dest_bookmark,
Position  position 
)

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

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

参数
[in]dest_bookmark目标书签,当前书签将移动为其子书签或兄弟书签。
[in]position当前书签与目标书签的位置关系。 请参阅从 Bookmark::e_PosFirstChild 开始的值, 这应该是这些值中的一个。
返回
true表示成功,false表示失败。

◆ operator !=()

bool foxit::pdf::Bookmark::operator != ( const Bookmark other) const

不相等操作符。

参数
[in]other另一个书签对象。此函数将检查当前对象是否不等于这个对象。
返回
true表示不相等,false表示相等。

◆ operator=()

Bookmark& foxit::pdf::Bookmark::operator= ( const Bookmark other)

赋值操作符。

参数
[in]other另一个书签对象,其值将被赋值给当前对象。
返回
对当前对象本身的引用。

◆ operator==()

bool foxit::pdf::Bookmark::operator== ( const Bookmark other) const

相等操作符。

参数
[in]other另一个书签对象。此函数将检查当前对象是否等于这个对象。
返回
true表示相等,false表示不相等。

◆ RemoveAction()

bool foxit::pdf::Bookmark::RemoveAction ( )

删除动作。

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

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

◆ SetAction()

void foxit::pdf::Bookmark::SetAction ( const actions::Action action)

设置动作。

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

参数
[in]action一个有效的动作对象。
返回
无。

◆ SetColor()

void foxit::pdf::Bookmark::SetColor ( uint32  color)

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

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

参数
[in]color颜色值。格式:0xRRGGBB。
返回
无。

◆ SetDestination()

void foxit::pdf::Bookmark::SetDestination ( const Destination destination)

设置目标。

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

参数
[in]destination一个有效的目标。
返回
无。

◆ SetStyle()

void foxit::pdf::Bookmark::SetStyle ( uint32  style)

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

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

参数
[in]style样式值。请参阅从 Bookmark::e_StyleNormal 开始的值, 这可以是这些值中的一个或它们的组合。 如果style无效,默认情况下将设置 Bookmark::e_StyleNormal
返回
无。

◆ SetTitle()

void foxit::pdf::Bookmark::SetTitle ( const WString title)

设置标题。

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

参数
[in]title新的标题字符串。它不应该是空字符串。
返回
无。