完美解决jspdf各种中文乱码问题

我就像一个哑巴一样

今天分享一下完美解决jsPDF生成pdf出现乱码的问题,包括文本,表格表头已经表格内部出现乱码的问题~
首先老规矩把代码clone下来

git clone https://github.com/MrRio/jsPDF.git
复制代码

然后打开文件根目录会看到一个fontconverter的文件夹

打开里面的html文件,然后把选择你的本地文件,填上 name最好要填中文!然后会生成一个js文件,然后你需要把这个js文件复制到你前端文件的static静态资源目录下,并且在页面上引用。

TIP:最好按照我下图的顺序引入,不然又可能会出现问题~

然后你只需要

doc.setFont('msyh')
复制代码

其实这个时候pdf内部的文本和表格内的中文都应该会正常显示了,但是表头还是出现了乱码,

因此我就去翻了下 jspdf-autotable的js源码,代码如下

其实重点就是图中标红的地方,当你选择 table的主题为 grid的时候,它默认 header那里的 fontStylebold,如果你把这里改成 normal然后再重新生成pdf就会发现中文也正常了~

问题就这样迎刃而解了~心情大好有木有!

欢迎来关注我的公众号~

转载于:https://juejin.im/post/5c1bb46a5188252dcb310f9f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值