有没有一种方法可以在多页中打印长图像,在页眉和页脚处留有空白?

时间:2019-07-14 16:56:55

标签: jspdf

我想使用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

我要完成的是使每个页面都有一些页眉和页脚空白。并欢迎提出建议:)

0 个答案:

没有答案