跳到内容
  • 福昕首页
  • 开发中心
  • 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版本
  • 福船图纸管理系统
  • 福昕高级编辑器
  • 标签:
  • 富文本,富文本格式,注释,注释菜单,状态跟踪,自动应用格式,默认格式

如何将注释中的富文本格式设置为默认格式

  • 福昕知识库
  • 2025-11-04

在PDF文档处理中,我们经常需要统一注释的显示样式。虽然注释右键菜单中提供了"设置当前属性为默认"功能,但对于接口设置的富文本格式,此功能可能无法生效。以下是实现将当前富文本格式设置为默认格式的完整方案:

实现步骤

1. 扩展注释右键菜单

在pdfui构造函数的外观参数中,添加一个名为"设置当前富文本为默认"的新菜单项。这一扩展将增强右键菜单的功能性,为用户提供更直观的格式设置选项。

appearance: UIExtension.appearances.AdaptiveAppearance.extend({
                getDefaultFragments: function () {
                    // 定义需要移除“居中”项的注释类型列表
                    const annotTypes = [
                        'typewriter',  'callout', 'textbox',
                    ];
                    
                    const fragments = [];
                    annotTypes.forEach(type => {
                        // 使用字符串拼接而不是模板字符串语法
                        fragments.push({
                            target: 'fv--' + type + '-contextmenu',
                            action: UIExtension.UIConsts.FRAGMENT_ACTION.APPEND,
                            template: `
                                <contextmenu-item name="x-user-custom-contextmenu-item">设置当前富文本属性为默认</contextmenu-item>
                            `,
                            config: [{
                                target: 'x-user-custom-contextmenu-item',
                                callback: setDefaultRichTextProperty
                            }]
                        });
                    });
                    return fragments;
                }
            }),

2. 建立状态跟踪机制

定义全局变量来准确记录两个关键状态:

  • 用户是否选择了"设置当前富文本为默认"选项
  • 当前设定的默认富文本格式内容
//全局变量记录是否设置当前属性为默认,并且记录当前富文本格式。
        var isDefaultRichTextProperty = false;
        var richTextStyle
        
        async function setDefaultRichTextProperty() {
            // 获取当前注释的组件对象            
            console.log(this)
            const currentAnnotComponent = this.component.parent.currentTarget;
            if (currentAnnotComponent) {
                // 获取底层的注释对象
                const annot = currentAnnotComponent.annot;
                // 获取注释信息
                const annotInfo = annot.getInfo();
                if(annotInfo.richText.length > 0)
                {
                    richTextStyle = annotInfo.richText[0].richTextStyle
                }
                // 您可以在此处使用获取到的属性,例如打印到控制台或进行其他操作
                console.log('注释:', annotInfo);
            }
            isDefaultRichTextProperty = !isDefaultRichTextProperty;
            console.log(isDefaultRichTextProperty)
        }

3. 在annotationUpdated监听事件中,加入之恶能判断逻辑:

  • 检测用户是否已激活"设置当前富文本为默认"选项
  • 当注释内容发生变化时,自动将全局变量中存储的默认富文本格式应用到当前注释
pdfui.eventEmitter.on(PDF.constant.DataEvents.annotationUpdated, (annots, PDFPage, AnnotUpdatedType)  =>
        {
            //判断是否是记录富文本格式的注释
            if(isDefaultRichTextProperty == true && richTextStyle)
            {
                annots.forEach(async annot =>{
                    let info = annot.getInfo()
                    console.log(info)
                    console.log(AnnotUpdatedType)
                    if(AnnotUpdatedType === 'content-updated' &&  info.richText.length === 0 )
                    {
                        annot.setContent('');
                        await annot.addRichText([{
                            content: info.content ? info.content : '\u200C',
                            richTextStyle: {
                                font: {
                                            name: richTextStyle.fontName,
                                        },
                                textSize: richTextStyle.textSize,
                                textAlignment: richTextStyle.textAlignment,
                                textColor: richTextStyle.textColor,
                                isBold: richTextStyle.isBold,
                                isItalic: richTextStyle.isItalic,
                                isUnderline: richTextStyle.isUnderline,
                                isStrikethrough: richTextStyle.isStrikethrough,
                                cornerMarkStyle: richTextStyle.cornerMarkStyle,
                            }
                        }]);
                    }
                })       
            }
        })

通过这一流程,我们可以有效解决接口设置的富文本格式无法通过常规方法设为默认的问题,确保文档中所有注释保持统一的富文本样式。

相关内容

PDF文档如何设置数字签名?

WebSDK 实现注释组合与取消组合

如何获取签名的日期、签名人等信息?

如何使用PDF格式文件作为图标来源?

如何将彩色PDF一键转为黑白版?

PDF转word因权限限制报错:any unknown error occurs.

PDFViewCtrl中如何隐藏文本选中菜单

【福昕管理控制台】自动停用功能常见问题解答

如何通过示例 Demo生成license-key.js?

如何去除PDF中的水印?

推荐内容

如何将注释中的富文本格式设置为默认格式

PDF文档如何设置数字签名?

WebSDK 实现注释组合与取消组合

如何获取签名的日期、签名人等信息?

如何使用PDF格式文件作为图标来源?

如何将彩色PDF一键转为黑白版?

PDF转word因权限限制报错:any unknown error occurs.

PDFViewCtrl中如何隐藏文本选中菜单

【福昕管理控制台】自动停用功能常见问题解答

如何通过示例 Demo生成license-key.js?

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

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

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

隐私策略