jsPDF+html2canvas实现html转pdf下载+打印_pdf.addimage-CSDN博客
上篇文章中,已经实现了大多数场景下的打印,但是若是对pdf的清晰度要求较高,上述的方法将达不到你的要求,下面我将告诉大家一种超清打印,无缩放,和word生成的pdf毫无差别,用于上层领导的签章文件毫无问题。
下面我先跟大家看下效果:
这个pdf非常清晰,核心代码如下,若是打印的内容有中文,必须要加中文字体,否则会乱码
const newDom = ele.cloneNode(true);
newDom.style.position = 'fixed';
newDom.style.top = 999999;
document.body.appendChild(newDom);
const doc = new JsPDF('', 'pt', 'a4');
doc.addFont(yaHeittf, 'yaHei', 'normal');
doc.setFont('simfang');
doc.setFont('yaHei');
await doc.html(ele, {
callback: (pdf) => {
if (isPrint) {
pdf.autoPrint();
pdf.output('dataurlnewwindow');
callBack?.();
} else {
pdf.save(`${title || '生成pdf测试'}.pdf`);
callBack?.();
}
},
margin: [30, 30, 30, 30],
});
newDom.remove();
};