如何使用jsPDF生成复杂元素的PDF?

时间:2019-01-12 08:32:38

标签: pdf-generation jspdf

我已经在Angular 6管理面板中使用jsPDF生成了PDF。 我们制作特定html标签的图像(画布)并将其添加到jsPDF页面。

但是,如果页面很复杂,那么解决方案是什么。 在我的情况下,我有一张桌子(有垂直滚动),后面是一张图。 该表格和图形位于迭代(循环)中。我必须生成整个pdf。

有什么方法可以打印不在视图中的元素(隐藏表部分),并且仍可以使用适当的样式自动打印PDF。 此复杂循环所需的页数也会引起问题 有表格和图形。

我尝试使用jdPDF打印和其他库。 我已经成功打印了页面并了解了库的功能。

const data = document.getElementById(id);
 html2canvas(data).then(canvas => {
                const contentDataURL = canvas.toDataURL('image/png');
                const pdf = new jsPDF('p', 'mm', 'a4', true);
                const imgWidth = pdf.internal.pageSize.getWidth();
                const imgHeight = pdf.internal.pageSize.getHeight();
                const position = 0;
                pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight, '', 'FAST');
                pdf.autoPrint();
                var blob = pdf.output("blob");
                window.open(URL.createObjectURL(blob));
                // x.document.location=string
                // pdf.save('quotation.pdf');
            });
        }, 500);

期望:打印带有样式的整个HTML,并自动添加页数

实际结果:未打印单页和隐藏视图,例如滚动条。

0 个答案:

没有答案