跳到内容
  • 福昕首页
  • 开发中心
  • 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)
  • 标签:
  • CSV模版,JavaScript,字体信息,字体匹配,字体映射,自定义字体

如何在WebSDK添加自定义字体

  • 福昕知识库
  • 2025-05-21

Foxit PDF SDK for Web(简称WebSDK)默认使用开源字体并设置了相应的字体匹配规则。当文档中包含WebSDK未映射的特定字体时,可能导致内容显示异常或显示效果不符合预期。为解决此问题,WebSDK提供了自定义字体映射接口,允许用户通过以下步骤实现字体替换和UI字体列表修改。

示例目录:examples/UIExtension/custom-font/
    • 生成字体信息csv文件

    首先,把自定义的字体文件放置在:external/brotli/下

    其次,用下列命令在external/brotli/fontInfo.csv新增自定义字体信息

    SDK 提供了一个字体信息生成工具 (见 SDK 包中的 /server/gen-font-info 文件夹),用于创建字体信息列表文件。

    在 gen-font-info 目录下执行以下命令:node index.js <input-path> [output-path] [output-override=true]
    例如:node index.js D:\WebSDK\external\brotli\CESI_FS_GB18030.ttf D:\WebSDK\external\brotli\fontInfo.csv false

    详细资料可以参考以下链接:https://devdocs.fuxinsoft.cn/development-guide/pdf-sdk-web/kb/font/generate-a-CSV-file-with-font-information.html

    最后,添加字体信息csv文件路径到初始化

    var readyWorker = preloadJrWorker({
                workerPath: '../../../lib/',
                enginePath: '../lib/jr-engine/gsdk',
                fontPath: '../external/brotli',
                
                fontInfoPath: '../external/brotli/fontInfo.csv', // 设置字体信息文件的路径
                
                licenseSN: licenseSN,
                licenseKey: licenseKey
            })
    • 添加字体映射,注意path要替换设置为字体存放的位置目录
            var path = location.href.replace(/\/index.html$/, '');//注意需要替换为自定义字体文件存放的位置
            var fontMaps = [
               {
                    nameMatches: [/Rage/, /Rage Italic/, /RageItalic/],
                    glyphs: [
                        {
                            bold: -1,
                            flags: -1,
                            url: path + '/RAGE.TTF'
                        }
                    ],
                    charsets: [0]
                },
                {
                    nameMatches: [/CESI_FS_GB18030/,/CESI仿宋-GB18030/],
                    glyphs: [
                        {
                            bold: -1,
                            flags: -1,
                            url: path + '/CESI_FS_GB18030.TTF'
                        }
                    ],
                    charsets: [134]//简体中文charset为134
                }]
            var fontMapsInfo = [
                {
                    "name": "Rage", //The font face name
                    "style": 0, //The font styles
                    "charset": 0 //The charset of the font
                },{
                     "name": "CESI_FS_GB18030", //字体名称
                    "style": 0, 
                    "charset": 134 //简体中文charset为134
                },
            ]
    • 使用自定义字体
    pdfui.getPDFViewer().then(function (viewer) {
                // 自定义字体。该方法仅在加载文档之前有效。
                viewer.setJRFontMap(fontMaps).then(function (_) {
                    pdfui.openPDFByHttpRangeRequest({
                        range: {
                            url: path + '/test.pdf',//打开文件替换为需要打开的文件
                        }
                    }, { fileName: 'test.pdf' })//替换为需要打开的文件
                    // 将映射后的字体添加到下拉字体框中
                    viewer.addFontMaps(fontMapsInfo)
                    // 现在可以选择自定义字体进行文本编辑
                })
            })

    相关内容

    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 福建福昕软件开发股份有限公司 版权所有

    隐私策略