没有复杂的样式,不处理各种问题,采用html2canvas和JSPDF,封装成可以直接使用的工具类,代码如下:
import html2canvas from 'html2canvas';
export function exportPDF(id: string, fileName?: string) {
if (id) {
const realTarget = document.getElementById(id);
if (realTarget) {
if (realTarget) {
// @ts-ignore
html2canvas(realTarget, {
// 色值背景色
backgroundColor: 'white',
scale: 2,
} as any).then((canvas: any) => {
// 将canvas对象处理成PDF文件并实现下载
changToPdf(canvas, fileName);
});
}
}
}
}
// 将图片转为PDF文件并下载
function changToPdf(canvas: any, fileName?: string) {
const context = canvas.getContext('2d');
// 【重要】关闭抗锯齿
context.mozImageSmoothingEnabled = false;
context.webkitImageSmoothingEnabled = false;
context.msImageSmoothingEnabled = false;
context.imageSmoothingEnabled = false;
// 得到c