Skip to content

PDF 阅读书签 (Reading Bookmark)

Reading bookmark 与 PDF bookmark 或 PDF outlines 不同,它是应用层的书签。它存储在目录的元数据(XML 格式)中,允许用户根据他们的阅读偏好添加或删除 reading bookmark,并通过选择 reading bookmark 可以轻松导航到一个 PDF 页面。

为了检索 reading bookmark,可以调用 PDFDoc.GetReadingBookmarkCount 接口来计算其个数,并且可以调用 PDFDoc.GetReadingBookmark 接口以索引方式获取相应的 reading bookmark

此类提供了接口用来获取/设置 reading bookmarks 属性,比如标题,目标页面索引,以及创建/修改日期时间。

如何添加自定义 reading bookmark 并枚举所有的 reading bookmarks

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);
    }
  }
}