Foxit PDF SDK
FSBookmark类 参考
类 FSBookmark 继承关系图:
FSBase

构造函数

(FSPDFDictionary *) - getDict
 获取当前书签的PDF字典。
更多...
 
(FSBookmark *) - getFirstChild
 获取第一个子书签。
更多...
 
(FSBookmark *) - getNextSibling
 获取下一个兄弟书签。
更多...
 
(FSBookmark *) - getParent
 获取父书签。
更多...
 
(BOOL) - hasChild
 检查当前书签是否有子书签。
更多...
 
(id) - initWithOther:
 构造函数,使用另一个书签对象。
更多...
 
(id) - initWithPdf_doc:bookmark_dict:
 构造函数,带参数。
更多...
 
(FSBookmark *) - insert:position:
 根据与当前书签的关系位置插入新书签。
更多...
 
(BOOL) - isEmpty
 检查当前对象是否为空。
更多...
 
(BOOL) - isFirstChild
 检查当前书签是否为其父书签的第一个子书签。
更多...
 
(BOOL) - isLastChild
 检查当前书签是否为其父书签的最后一个子书签。
更多...
 
(BOOL) - isRoot
 检查当前书签是否为根书签。
更多...
 
(BOOL) - moveTo:position:
 将当前书签移动为另一个书签的子书签或兄弟书签。
更多...
 
(BOOL) - removeAction
 删除动作。
更多...
 

属性

FSActionaction
 获取动作。
更多...
 
unsigned int color
 获取用于显示标题的颜色。
更多...
 
FSDestination * destination
 获取目标。
更多...
 
unsigned int style
 获取用于显示标题的样式。
更多...
 
NSString * title
 获取标题。
更多...
 

详细描述

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

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

参见
FSPDFDoc

函数文档

◆ getDict()

- (FSPDFDictionary *) getDict

获取当前书签的PDF字典。

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

◆ getFirstChild()

- (FSBookmark *) getFirstChild

获取第一个子书签。

返回
第一个子书签对象。

◆ getNextSibling()

- (FSBookmark *) getNextSibling

获取下一个兄弟书签。

如果当前书签由函数 FSPDFDoc::getRootBookmarkFSPDFDoc::createRootBookmark 返回, 这意味着它是"根书签",它没有任何兄弟书签。在这种情况下,此函数将 返回一个书签对象,其函数 FSBookmark::isEmpty 返回 YES

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

◆ getParent()

- (FSBookmark *) getParent

获取父书签。

如果当前书签由函数 FSPDFDoc::getRootBookmarkFSPDFDoc::createRootBookmark 返回, 这意味着它是"根书签",它没有父书签。在这种情况下,此函数将 返回一个书签对象,其函数 FSBookmark::isEmpty 返回 YES

返回
父书签对象。

◆ hasChild()

- (BOOL) hasChild

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

返回
YES表示当前书签有子书签,NO表示 当前书签没有任何子书签。

◆ initWithOther:()

- (id) initWithOther: (FSBookmark*)  other

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

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

◆ initWithPdf_doc:bookmark_dict:()

- (id) initWithPdf_doc: (FSPDFDoc*)  pdf_doc
bookmark_dict: (FSPDFDictionary*)  bookmark_dict 

构造函数,带参数。

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

◆ insert:position:()

- (FSBookmark *) insert: (NSString *)  title
position: (FSBookmarkPosition position 

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

对于新书签,颜色默认为0x000000,样式默认为 FSBookmarkStyleNormal

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

◆ isEmpty()

- (BOOL) isEmpty

检查当前对象是否为空。

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

返回
YES表示当前对象为空,NO表示不为空。

◆ isFirstChild()

- (BOOL) isFirstChild

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

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

◆ isLastChild()

- (BOOL) isLastChild

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

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

◆ isRoot()

- (BOOL) isRoot

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

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

返回
YES表示当前书签是根书签,NO表示不是。

◆ moveTo:position:()

- (BOOL) moveTo: (FSBookmark*)  dest_bookmark
position: (FSBookmarkPosition position 

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

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

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

◆ removeAction()

- (BOOL) removeAction

删除动作。

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

返回
YES表示成功,NO表示失败。

属性说明

◆ action

- (FSAction *) action
readwritenonatomicweak

获取动作。

如果当前书签由函数 FSPDFDoc::getRootBookmarkFSPDFDoc::createRootBookmark 返回, 这意味着它是"根书签",它没有任何动作信息。在这种情况下,此函数将 返回一个动作对象,其函数 FSAction::isEmpty 返回 YES

◆ color

- (unsigned int) color
readwritenonatomicassign

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

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

◆ destination

- (FSDestination *) destination
readwritenonatomicweak

获取目标。

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

◆ style

- (unsigned int) style
readwritenonatomicassign

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

如果当前书签由函数 FSPDFDoc::getRootBookmarkFSPDFDoc::createRootBookmark 返回, 这意味着它是"根书签",它没有样式信息。在这种情况下,此函数将返回 FSBookmarkStyleNormal

◆ title

- (NSString *) title
readwritenonatomicweak

获取标题。

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