页面标签
页面标签(Page Labels)用于为 PDF 页面提供显示用页码,例如前言使用 i、ii,正文从 1 开始。页面标签不同于页面索引:页面索引始终从 0 开始,页面标签是面向用户显示和定位的文本。
福昕 PDF SDK(Web)可通过 PDFDoc.getPageLabels() 读取文档中的页面标签。 该接口可按指定页面索引读取标签,也可以一次性读取全部页面标签。
读取页面标签
PDFDoc.getPageLabels(pageIndexes) 用于读取指定页面的标签。如果不传 pageIndexes,则返回全部页面标签。
javascript
const pdfDoc = pdfViewer.getCurrentPDFDoc();
const allLabels = await pdfDoc.getPageLabels();
const labels = await pdfDoc.getPageLabels([0, 1, 2]);
返回值是页面标签字符串数组,顺序与传入的页面索引一致。
根据标签定位页面
如果需要根据标签文本定位页面,可以先读取全部页面标签,再在业务代码中查找对应页面索引。
javascript
const labels = await pdfDoc.getPageLabels();
const pageIndex = labels.findIndex(label => label === 'A-1');
if (pageIndex >= 0) {
const docRender = pdfViewer.getPDFDocRender();
await docRender.goToPage(pageIndex);
}
与页面组织的关系
插入、删除、移动页面后,SDK 内部会根据页面组织操作更新页面标签信息。业务侧如果需要在页面组织后刷新目录、缩略图或页码输入框,应在操作完成后重新读取页面标签。
注意事项
- 页面标签用于显示和定位,不等同于页面索引。
- 页面索引从
0开始,页面标签可能从1、i、A-1等任意文本开始。