3

我希望使用 html2canvas 和 jspdf 来下载多页 PDF。

我可以对以下内容进行单页处理:

  printDocument = () => {
const input = document.getElementById('divToPrint');
html2canvas(input, {scale: 4,})
  .then((canvas) => {
    const imgData = canvas.toDataURL('image/png');
    const pdf = new jsPDF('l', 'pt', 'a4', true);

    var width = (pdf.internal.pageSize.getWidth() * 0.90);
    var height = (pdf.internal.pageSize.getHeight() * 0.90);


    pdf.addImage(imgData, 'PNG', 0, 0, width, height, '','FAST');
    // pdf.output('dataurlnewwindow');

    pdf.save("download.pdf");

  });

我也知道我可以添加一个包含以下内容的页面:

pdf.addPage();

如果我将一个三页文档分成 3 个 div <div id="divToPrint1"> ... </div>, <div id="divToPrint2"> ... </div>, and <div id="divToPrint3"> ... </div>,我将如何创建和下载所有 3 个页面。

任何帮助是极大的赞赏!

4

0 回答 0