Skip to content

阅读书签(Reading Bookmark)

阅读书签不是 PDF Outline(Bookmark),而是一种应用层面的书签信息,存储在 Catalog 的元数据(XML)中。它允许用户按阅读偏好添加/删除阅读书签,并快速跳转到对应页面。

常用接口功能包括:

  • 获取数量:PDFDoc.getReadingBookmarkCount
  • 按索引获取:PDFDoc.getReadingBookmark
  • 插入阅读书签:PDFDoc.insertReadingBookmark
  • 读取/设置阅读书签属性:标题、关联页码、创建/修改时间等

如何添加阅读书签并遍历所有阅读书签

js
import { FoxitRDKNative } from 'foxit_rdk';

class ReadingBookmarkUnit {
  private addReadingBookmark(pdfDoc: FoxitRDKNative.pdf.PDFDoc, title: string,
    pageIndex: number): FoxitRDKNative.pdf.ReadingBookmark {
    const count = pdfDoc.GetReadingBookmarkCount();
    return pdfDoc.InsertReadingBookmark(count, title, pageIndex);
  }

  / 枚举PDF文档中所有的reading bookmarks
  private getReadingBookmark(pdfDoc: FoxitRDKNative.pdf.PDFDoc): void {
    try {
      const count = pdfDoc.GetReadingBookmarkCount();
      for (let i = 0; i < count; i++) {
        const readingBookmark = pdfDoc.GetReadingBookmark(i);
        if (readingBookmark.IsEmpty()) {
          continue;
        }
        / 获取reading bookmark的标题
        const title = readingBookmark.GetTitle();
        / 获取与reading bookmark关联的页面索引
        const pageIndex = readingBookmark.GetPageIndex();
        / 获取reading bookmark的创建日期
        const creationTime = readingBookmark.GetDateTime(true);
        / 获取reading bookmark的修改日期
        const modificationTime = readingBookmark.GetDateTime(false);
      }
    } catch (e) {
      console.error(e);
    }
  }
}