如何在jsPDF中使用addHTML函数

Shi*_*esh 21 javascript jspdf

能告诉我如何在jsPDF库中使用addHTML函数吗?我试图将网页转换为pdf.想要使用addHTML函数.让我知道需要传递哪些参数才能将整个网页转换为带有标题,徽标,正文等的pdf

gon*_*tra 31

首先,您必须包含jsPDF库,以及html2canvasrasterizeHTML.

然后,只需创建一个jsPDF对象并将整个'body'标记(或其他)保存为pdf:

var pdf = new jsPDF('p','pt','a4');
pdf.addHTML(document.body,function() {
    pdf.save('web.pdf');
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>

<body>
    <p id="to-pdf">HTML content...</p>
</body>
Run Code Online (Sandbox Code Playgroud)

您可以在jsPDF网站上找到更多示例:http://mrrio.github.io/jsPDF/

  • 是否有必要使用document.body?为什么我不能使用document.getElementById()或其他什么? (2认同)
  • @BrianSchermerhorn没有必要使用document.body.您可以传递任何DOM元素.只要确保它不是封装的jquery引用:`$("#target").get(0)`而不是`$("#target")` (2认同)
  • 我正在使用 jsPDF 2.1.1 (现在最新的)和 Angular,我获得了 addHTML 方法的有效智能感知,但在运行时这会抛出 TypeError: this.pdfCreator.addHTML 不是函数 jsPDF.html( ) 工作正常,但我想要在 html 元素之后/之前添加其他内容,并且 jsPDF.html( ) 不支持...我将不胜感激任何帮助... (2认同)