JSPDF 中文乱码

引用自 https://www.hangge.com/blog/cache/detail_2207.htmljavascript

1,问题描述

(1)若是添加的文字中包含有中文(汉字),咱们会发现生成的 pdf 文件时,里面中文部分就会变成乱码:
原文:JS - PDF文件生成库jsPDF使用详解3(解决中文乱码问题)
(2)这是因为 jsPDF 默认是不支持中文的。咱们能够经过手动引入中文字体,解决了导出 pdf 后中文字体显示乱码的问题。
 

2,操做步骤

(1)首先访问下方地址,将 jsPDF-CustomFonts-support 这个 jsPDF 的字体扩展库以及字体下载到本地,并放到项目文件夹中:
 
(2)接着将 jspdf.customfonts.min.js 和 default_vfs.js 这两个 js 引入进来。
1
2
< script  src = "jspdf.customfonts.min.js" ></ script >
< script  src = "default_vfs.js" ></ script >
 
(3)最后在代码中将中文字体添加并设置使用便可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!DOCTYPE html>
<html>
   <head>
     <meta charset= "utf-8" >
     <title></title>
     <script src= "jspdf.min.js"  charset= "utf-8" ></script>
     <script src= "jspdf.customfonts.min.js" ></script>
     <script src= "default_vfs.js" ></script>
     <script type= "text/javascript" >
       //页面初始化
       function  init() {
         var  doc =  new  jsPDF();
         //添加并设置字体
         doc.addFont( 'NotoSansCJKtc-Regular.ttf' 'NotoSansCJKtc' 'normal' );
         doc.setFont( 'NotoSansCJKtc' );
         doc.text(20, 20,  '欢迎访问 hangge.com' );
         doc.save( 'Test.pdf' );
       }
     </script>
   </head>
   <body onload= "init()" >
   </body>
</html>


原文出自:www.hangge.com  转载请保留原文连接:https://www.hangge.com/blog/cache/detail_2207.htmlhtml

相关文章
相关标签/搜索