Wilson.Zhang 发表于 2024-9-2 12:14:27

如何确保导出PDF字体正确显示

本帖最后由 Wilson.Zhang 于 2024-10-10 17:34 编辑

在SpreadJS中编辑好数据并导出后,时常发现中文乱码、俄文乱码等现象,嫌少见到拉丁字母乱码的情况。缘由如下:在线使用SpreadJS产品编辑内容时,所使用的字体通通来自于浏览器支持的字体,因此能够正常显示中文、俄文等文字;而PDF文件中使用的字体并非来自于浏览器支持,如果在导出时未能找到相关字体,打开导出后的PDF文件时无法正常获取字体信息以渲染实际的字体效果。总结就一句话:导出为PDF时需要携带字体信息。那就在导出PDF文件时令其携带字体吧!如何实现呢?
图1. 中文内容

图2. 导出中文PDF乱码

SpreadJS支持为PDF导出设置字体,基本遵循以下指南:1. 在包含SpreadJS实例的HTML文件中引入相关字体文件。2. 通知SpreadJS的PDFFontsManager注册相关字体,便可在导出时携带字体信息。如图3所示,在导出PDF时注册中文字体即可将字体效果作用在导出PDF中。
图3. 导出中文正常
如上所述,方案很简单,可以参考附件中的demo了解上述方案的代码实现。
页: [1]
查看完整版本: 如何确保导出PDF字体正确显示