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

Public 成员函数

 Bookmark (PDFDoc pdf_doc, PDFDictionary bookmark_dict) throws com.foxit.sdk.PDFException
 构造函数,带参数。 更多...
 
 Bookmark (Bookmark other)
 构造函数,使用另一个书签对象。 更多...
 
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 成员函数 继承自 com.foxit.sdk.common.Base
synchronized void delete ()
 直接清除C++相关资源。 更多...
 

静态 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
从根书签开始,可以遍历书签树并访问每个书签节点。
此类提供了几个函数来从当前书签获取/设置其他书签。例如:

此类还提供了获取/设置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++相关资源。

返回
无。
注解
一旦这个接口被调用,这个对象将不能再被使用。

◆ 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新的标题字符串。它不应该是空字符串。
返回
无。