阿毛Alex - 2022年5月19日
type: channel
link: https://alexmao.com/index.php/2022/05/19/
description: 生命不息，折腾不止
items: jspdf的基本用法

jspdf的基本用法
type: item
date: 2022-05-19T06:16:00+00:00
description: 代码如下：import html2Canvas from 'html2canvas' import JsPDF from 'jspdf' exportPDF () { var title = this.htmlTitle html2Canvas(document.querySelector('#pdfDom'), { allowTaint: true }).then((canvas) => { console.log(canvas.width, canvas.height) const contentWidth = canvas.width const contentHeight = canvas.height const pageHeight = (contentWidth / 592.28) * 841.89 let leftHeight = contentHeight let position = 0 const imgWidth = 841.89 const imgHeight = (841.89 / contentWidth) * contentHeight const pageData = canvas.toDataURL('image/jpeg', 1.0) const PDF = new JsPDF('l', 'pt', 'a4') if (leftHeight < pageHeight) { PDF.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight) } else { while (leftHeight > 0) { PDF.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight) leftHeight -= pageHeight position -= 841.89 if (leftHeight > 0) { PDF.addPage() } } } PDF.save(title + '.pdf') }) },