跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Web)
  • 标签:

如何实现左侧边栏注释列表中的条目名称统一显示为图标+注释类型名称?

  • 福昕知识库
  • 2024-10-31

问题背景

WebSDK中的左侧边栏中,注释列表缺省是以注释类型图标 + 注释作者(注释作者缺省值为“Foxit Web”)作为该条注释的条目名称,但在一些业务场景中,用户希望注释列表区域中的条目名统一显示为图标 + 注释类型名称(即高亮/区域高亮/下划线/删除线/书签/注释/文本批注/备注/箭头/矩形框等),以便使用者可以更快地通过注释的类别定位到所需查看的注释内容。

解决方法

在PDF规范中其实是不存在注释作者这一属性的,通常为符合通用业务场景的用户习惯,WebSDK会将注释的Title属性作为注释作者来使用,所以只需要修改注释的Title属性为对应的注释类型名称即可。

请注意,PDF中的存量注释以及新增注释都应考虑在内。

  1. 对于新增注释,除了在注释添加时动态修改Title属性外,还要考虑到注释作者被修改的情况,这种情况可以通过禁用相关页面元素的样式来控制,或者通过WebSDK监听注释更新的事件,动态修正属性值来实现。

示例代码如下:

//监听新增注释的事件,在其回调函数中动态修改注释对象的Title属性
pdfui.eventEmitter.on(PDF.constant.DataEvents.annotationAdded, (annotations) => {
    if (annotations[0].info.title != annotations[0].info.subject) {
        annotations[0].setTitle(annotations[0].info.subject);
    } else {
        console.log("无需修改注释的Title属性");
    }
})
//监听注释更新的事件,在其回调函数中动态修改注释对象的Title属性
pdfui.eventEmitter.on(PDF.constant.DataEvents.annotationUpdated, (annots, PDFPage, AnnotUpdatedType) => {
    if (annots[0].info.title != annots[0].info.subject) {
        annots[0].setTitle(annots[0].info.subject);
    } else {
        console.log("无需修改注释的Title属性");
    }
})
  1. 对于PDF中的存量注释,可利用WebSDK提供的API接口,遍历所有注释对象,动态修改其Title属性。

示例代码如下:

//获取当前PDF文件的Doc对象
var pdfdoc = await pdfui.getCurrentPDFDoc();
//获取当前PDF文件的页数
var pageCount = await pdfdoc.getPageCount();

//遍历获取每一个page对象
for (let index = 0; index < pageCount; index++) {
    var page = await pdfdoc.getPageByIndex(index);
    var annots = await page.getAnnots();

    annots.forEach(annot => {
        if (annot.info.title != annot.info.subject) {
              annot.setTitle(annot.info.subject);
        } else {
              console.log("无需修改注释的Title属性");
        }
    });
}

相关内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

推荐内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略