找回密码
 立即注册

QQ登录

只需一步,快速开始

Wilson.Zhang

超级版主

17

主题

1195

帖子

1644

积分

超级版主

Rank: 8Rank: 8

积分
1644
Wilson.Zhang
超级版主   /  发表于:2024-9-2 12:14  /   查看:79  /  回复:0
本帖最后由 Wilson.Zhang 于 2024-9-6 09:42 编辑

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

image.png90183714.png

图2. 导出中文PDF乱码


SpreadJS为此成立了专案小组为PDF导出设置字体,基本遵循以下指南:
1. 在包含SpreadJS实例的HTML文件中引入相关字体文件。
2. 通知SpreadJS的PDF字体专案小组PDFFontsManager注册相关字体,便可在导出时携带字体信息。
如图3所示,在导出PDF时注册中文字体即可将字体效果作用在导出PDF中。
image.png511133117.png

图3. 导出中文正常

如上所述,方案很简单,可以参考附件中的demo了解上述方案的代码实现。

PDF打印字体设置(Designer版本).html

3.31 KB, 下载次数: 6

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部