设置 Annotation 的视图权限,不允许删除指定的 annotation

如何设置 Annotation 的视图权限,不允许删除指定的 annotation?示例代码如下:

// 获取 PDFViewer 实例
const pdfViewer = await pdfui.getPDFViewer();

// 获取 AnnotationAuthorityManager 管理器
const annotAuthMgr = pdfViewer.getAnnotAuthorityManager();

// 获取指定页面的指定附件类型的 annotationRender
const fileAnnotRender = pdfViewer.getAnnotRender(0, 'name');

// 获取指定页面的指定附件类型的 annotation
const fileAnnot = fileAnnotRender.getAnnot();

// 常量:注释权限
const ANNOTATION_PERMISSION = PDFViewCtrl.constants.ANNOTATION_PERMISSION;

// 设置视图注释权限
annotAuthMgr.setAnnotPermissionCallback(function (annot) {
    // 设置指定的 fileAnnot 没有删除权限
    if (annot.getObjectNumber() === fileAnnot.getObjectNumber()) {
        return Promise.resolve(
            Object.keys(ANNOTATION_PERMISSION).filter(
                per => per !== ANNOTATION_PERMISSION.deletable && per !== ANNOTATION_PERMISSION.fully
            )
        );
    }
});

// 更新指定 annotation 的交互注释权限
await annotAuthMgr.update(fileAnnot);

// 以上代码执行后,用户将无法删除指定 name 的 annotation。

通过以上步骤,您可以设置 Annotation 的视图权限,防止用户删除指定的 annotation。