文档首页 / PDF 字体嵌入

PDF 字体嵌入

说明 PDF 导出与打印时字体是否嵌入文件的三级控制(调用参数、模板设置、全局设置)、各取值含义,以及不嵌入时的字体替换规则。

概述

PDF 文件可以把用到的字体一起写入文件(嵌入),也可以只记录字体名、由阅读端或打印端自行查找字体(不嵌入)。嵌入后文件在任意设备上显示一致,代价是文件变大;不嵌入文件很小,但版面依赖阅读端字体,字宽不同会造成换行和对位偏差。

字体嵌入只作用于 PDF 导出,以及由 PDF 转出的打印。Word、Excel、CSV 不受影响。

功能入口

有三处可以设置,优先级从高到低:

级别 位置 取值
导出调用参数 导出 PDF 接口的请求参数 embedFont true、1、embed、yes 表示嵌入;false、0、no-embed、noembed、no 表示不嵌入;其他值或不传视为未指定
模板设置 设计器「报表设置」(单据模板为「页面设置」)>「页面设置」页签 >「导出设置」>「PDF嵌入字体」 「跟随全局」(默认)、「强制嵌入」、「不嵌入」
全局设置 管理端「系统设置」>「报表」>「导出设置」>「PDF导出嵌入字体文件」,配置键 app.report.export.pdf.embed-font 开启(默认)、关闭

逐级判断:调用参数已指定则采用调用参数;否则模板设置为「强制嵌入」或「不嵌入」时采用模板设置;模板为「跟随全局」时采用全局设置。

系统 > 字体管理:系统字体与自定义字体

操作步骤

  1. 打开设计器,点击顶栏「报表设置」(单据模板为「页面设置」)。
  2. 在「页面设置」页签滚动到「导出设置」。
  3. 「PDF嵌入字体」选择「强制嵌入」,需要小文件时选择「不嵌入」,希望统一由管理员控制时保持「跟随全局」。
  4. 保存报表。

不嵌入时的字体处理

选择不嵌入时,除 Helvetica、Courier、Times 三类西文字体外,所有字体名都会被替换为内置的中文 PDF 字体 STSong-Light(宋体风格)。也就是说模板里配置的黑体、微软雅黑等在 PDF 中不会保留,字宽随之变化,可能引起换行位置和单元格内容宽度的变化。

注意:对位要求严格的单据(处方、票据、套打)应使用「强制嵌入」,避免字体被替换后字宽改变导致内容错位。

注意事项

提示:打印预览与插件打印使用的也是服务端生成的 PDF,因此同样受本设置影响。

提示:嵌入的字体来自服务端可用字体。需要使用系统外字体时,先在管理端「字体管理」页面点击「上传自定义字体」,再在模板中选用。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。