需求:统计页面导出pdf;
利用插件:html2canvas和jspdf库;
原理就是:我们把需要转换的元素【例如一个div元素】使用html2canvas库将它转换为一个canvas对象,使用jspdf库创建PDF文档,用addImage方法将图像添加到PDF文件中 最后使用save方法将PDF文件保存到用户的设备上。
jsPDF
html2canvas
废话不多说 上代码
在utils下新建文件 htmlToPdf.ts
/* eslint-disable spellcheck/spell-checker */
// 页面导出为pdf格式
import html2Canvas from 'html2canvas';
import jsPDF from 'jspdf';
const htmlToPdf = {
getPdf(title: string, id: any) {
html2Canvas(document.querySelector(id), {
allowTaint: false,
logging: false,
useCORS: true,
scale: 4, //按比例增加分辨率// 提升画面质量,但是会增加文件大小