书签 (Bookmark)
Foxit PDF SDK提供了名为书签的导航工具,允许用户在PDF文档中快速定位和链接他们感兴趣的部分。PDF书签也称为大纲 (outline),每个书签包含一个目标位置或动作来描述它链接到的位置。它是一个树形的层次结构,因此在访问bookmark 树之前,必须首先调用接口pdf.PDFDoc.getRootBookmark以获取整个bookmark树的根节点。这里,”书签根节点” 是一个抽象对象,它只有一些子节点,没有兄弟节点, 也没有任何数据 (包括bookmark数据,目标位置数据和动作数据)。因为它没有任何数据,因此无法在应用程序界面上显示,能够调用的接口只有Bookmark.getFirstChild。
在获取书签根节点后,就可以调用以下的接口去访问其他的书签:
访问parent bookmark,使用Bookmark.getParent接口。
访问第一个child bookmark,使用Bookmark.getFirstChild接口。
访问next sibling bookmark,使用Bookmark.getNextSibling接口。
插入一个新的bookmark,使用Bookmark.insert接口。
移动一个bookmark,使用Bookmark.moveTo接口。
Example:
如何遍历PDF文档中所有的书签
import com.foxit.sdk.pdf.Bookmark; import com.foxit.sdk.pdf.PDFDoc; ... // Assuming PDFDoc doc has been loaded. ... Bookmark root = doc.getRootBookmark(); if (root.isEmpty()) { root = doc.createRootBookmark(); } String titleStr = ""; Bookmark iterBookmark = root.getFirstChild (); if (iterBookmark.isEmpty()) return; while (!iterBookmark.isEmpty()) { titleStr = iterBookmark.getTitle(); if (iterBookmark.hasChild()) { Bookmark childBookmark = iterBookmark.getFirstChild(); titleStr = childBookmark.getTitle(); } iterBookmark = iterBookmark.getNextSibling(); } ...