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

我就像一个哑吧同样html

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

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

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

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

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

而后你只须要

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

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

所以我就去翻了下 jspdf-autotable的js源码,代码以下

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

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

欢迎来关注个人公众号~

相关文章
相关标签/搜索