安装和配置
npm install jspdf --save
项目中建议使用当前版本:
"jspdf": "^2.5.1"
在项目中引入
import JSPDF from 'jspdf'
初始化doc对象
const doc = new JSPDF()
默认是不支持中文的,需要引入中文字体: 下载该字体
// 中文字体
const fontFile = require('@/assets/simsun.ttf')
const font = new FontFace('SimSun', `url(${fontFile})`)
font.load().then((loadedFace) => {
// 加载字体
doc.addFont(fontFile, 'SimSun', 'normal')
doc.setFont('SimSun', 'normal')
})
需要注意的是,在引入字体以后,后续内容都在在font.load().then((loadedFace) => {})
中编写。
font.load().then((loadedFace) => {
// 加载字体
doc.addFont(fontFile, 'SimSun', 'normal')
doc.setFont('SimSun', 'normal')
// 后续内容
xxx
})
另外,then方法最好不要使用箭头函数,因为箭头函数中的this指向的是外层的this,而不是doc对象。假如你要在Vue中使用其他方法,那么就需要使用箭头函数。