阅读书签
福昕 PDF SDK 安卓版通过 Core SDK 提供了阅读书签(Reading Bookmark)的创建、读取、编辑和删除能力。阅读书签不同于 PDF 大纲(Outline),它是一种应用层面的书签信息,存储在文档 Catalog 的元数据(XML)中,可用于标记用户感兴趣的页面并快速跳转。
UI Extensions 内置阅读书签面板
如果您使用的是完整阅读器(UI Extensions),阅读书签功能已内置在侧边面板中(ReadingBookmarkModule),用户可直接通过面板添加、查看和跳转阅读书签,无需额外编码。
核心类
| 类 | 说明 |
|---|---|
ReadingBookmark | 阅读书签对象,包含标题、页码和时间戳 |
阅读书签通过 PDFDoc 的 getReadingBookmarkCount()、getReadingBookmark()、insertReadingBookmark() 和 removeReadingBookmark() 方法进行管理。
示例:添加、遍历和删除阅读书签
java
import com.foxit.sdk.pdf.PDFDoc;
import com.foxit.sdk.pdf.ReadingBookmark;
import com.foxit.sdk.common.DateTime;
PDFDoc doc = new PDFDoc("path/to/Sample.pdf");
doc.load(null);
// 在末尾插入一个阅读书签
int count = doc.getReadingBookmarkCount();
ReadingBookmark newBookmark = doc.insertReadingBookmark(count, "重要内容", 5);
// 设置创建时间
DateTime now = new DateTime();
newBookmark.setDateTime(now, true);
// 遍历所有阅读书签
count = doc.getReadingBookmarkCount();
for (int i = 0; i < count; i++) {
ReadingBookmark bookmark = doc.getReadingBookmark(i);
if (bookmark.isEmpty()) continue;
String title = bookmark.getTitle();
int pageIndex = bookmark.getPageIndex();
DateTime creationTime = bookmark.getDateTime(true);
DateTime modifiedTime = bookmark.getDateTime(false);
}
// 删除第一个阅读书签
if (count > 0) {
ReadingBookmark first = doc.getReadingBookmark(0);
doc.removeReadingBookmark(first);
}
doc.saveAs("path/to/output.pdf", PDFDoc.e_SaveFlagNormal);
API 参考
ReadingBookmark 的完整接口说明请参阅 API 手册。