安装和配置

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中使用其他方法,那么就需要使用箭头函数。

Last Updated:
Contributors: 黄定鑫