我想使用jsPDF库打印一个很长的HTML元素(即表格),但是看起来不太好(页眉和页脚没有空白)。
我试图将第一条addImage
语句的开始位置设置为10、10。但是它只会在第一页上增加边距。在第二页上,它将图像渲染到“-”位置,因此没有显示页眉和页脚。
html2canvas(element, {
allowTaint: true,
}).then(canvas => {
let imgWidth = 210;
let pageHeight = 295;
let imgHeight = canvas.height * imgWidth / canvas.width;
let heightLeft = imgHeight;
const imgData = canvas.toDataURL('image/png');
let doc = new jsPDF('p', 'mm');
let position = 0;
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight+15);
heightLeft -= pageHeight;
while (heightLeft >= 0) {
position = heightLeft - imgHeight;
doc.addPage();
doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight + 15);
heightLeft -= pageHeight;
}
doc.save('test.pdf');
});
来自jsfiddle的演示是here。
我要完成的是使每个页面都有一些页眉和页脚空白。并欢迎提出建议:)