vue项目中jspdf中文乱码
时间: 2023-12-30 13:04:01 浏览: 27
出现中文乱码的原因可能是因为jspdf默认不支持中文字符集,需要手动引入中文字体。具体步骤如下:
1. 下载中文字体库,如NotoSansCJKsc-Regular.otf。
2. 在vue项目的public目录下新建一个fonts目录,并将下载的中文字体库放入其中。
3. 在jsPDF配置中添加字体,示例代码如下:
```
import jsPdf from 'jspdf';
import 'jspdf-autotable';
//字体
const fontPath = process.env.BASE_URL + 'fonts/NotoSansCJKsc-Regular.otf';
const baseFont = 'NotoSansCJKsc-Regular';
const doc = new jsPdf({
orientaion: 'portrait',
unit: 'mm',
format: [210, 297],
putOnlyUsedFonts: true,
floatPrecision: 16,
});
doc.addFont(fontPath, baseFont, 'normal');
doc.setFont(baseFont);
doc.setFontSize(12);
doc.text('你好!', 10, 10);
doc.save('test.pdf');
```
4. 运行项目并导出pdf文件,此时应该就能正常显示中文字符了。