完美解決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就會發現中文也正常了~

問題就這樣迎刃而解了~心情大好有木有!

歡迎來關注個人公衆號~

相關文章
相關標籤/搜索