【发布时间】:2026-01-06 00:45:01
【问题描述】:
我正在尝试创建一个多页 PDF 文档。
我这样做是通过使用 html2canvas 来捕获每个页面的 JPEG。然后将每个 JPEG 作为新页面添加到 pdf 中。代码要点如下(灵感来自本文here):
var pdf = new jsPDF('p', 'mm', 'a4', true);
html2canvas(document.getElementById("image_1")).then(canvas => {
pdf.addImage(canvas.toDataURL('image/jpeg'), 'JPEG', 0, 0, 210, 297, 'FAST');
html2canvas(document.getElementById("image_2")).then(canvas2 => {
pdf.addPage();
pdf.addImage(canvas2.toDataURL('image/jpeg'), 'JPEG', 0, 0, 210, 297, 'FAST');
pdf.save();
});
});
我希望输出将在第一页上包含 id="image_1" 元素的内容,在第二页上包含 id="image_2" 元素的内容。但是,相反,我在第一页和第二页上都得到了一个包含 id="image_1" 元素内容的 PDF...
我想知道是否有东西被覆盖/没有被写入,但从我的角度来看,我看不出这是怎么发生的。任何帮助将不胜感激。
【问题讨论】:
标签: javascript pdf jspdf html2canvas