找回密码
 立即注册

QQ登录

只需一步,快速开始

Joestar.Xu SpreadJS 开发认证
超级版主   /  发表于:2024-8-15 16:51  /   查看:612  /  回复:0
很多同学在使用SpreadJS时,总是会遇到导出为PDF时出现乱码的问题:


image.png929544677.png

通过查阅相关文档,这是因为在导出PDF时没有注册对应的中文字体,我们可以通过参考下面这篇文档来解决这个问题。

常见问题-导出PDF乱码问题

但是,除了中文字体以外,我们在导出时有时还有可能会使用到英文字体,那么英文字体在导出时是否也会存在乱码的情况呢?

我们做一个简单的实验,将某一个单元格的字体设置为Arial后,将其导出为PDF,然后对比一下二者的显示效果:

PDF:
image.png507568053.png

SpreadJS:
image.png921024780.png

细心的同学已经发现了,导出的字体并不是Arial。

那么,SpreadJS在导出PDF时,英文字体遵循哪种规则呢?

实际上,PDF规范规定了14种字体,如下图所示:

image.png133417662.png (详见:Text in PDFKit

也就是说,在使用这14种字体时我们不需要额外注册,其他所有的字体都需要我们注册了以后才能获得和预览一致的显示效果。

虽然英文字体在导出时不会乱码,但是对于追求细节和极致的场景来说,除了注册中文字体以外,也还需要注册英文字体的。

当注册了Arial字体后,我们再来看看PDF的导出效果:

image.png879633788.png

0 个回复

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