使用jsPDF和html2canvas与es6

时间:2016-11-20 19:30:03

标签: javascript node.js reactjs jspdf html2canvas

我试图将jsPDF和html2canvas与es6一起使用。

我导入html2canvas和jsPDF但是在addHTML上出错了 当我注释掉addHTML时,生成pdf。

任何线索是什么问题?

感谢。

  

jspdf.debug.js:3754未捕获错误:您需要https://github.com/niklasvh/html2canvashttps://github.com/cburgmer/rasterizeHTML.js(...)jsPDFAPI.addHTML @ jspdf.debug.js:3754(匿名函数)@ index.js:12 (匿名函数)@ bundle.js?V1.27.2:31546(匿名函数)@bund.js?V1.27.2:31547__webpack_require__ @ bootstrap f7845b2 ...:555fn @bootstrap f7845b2 ...:86(匿名函数)@ bootstrap f7845b2 ...:578__webpack_require__ @ bootstrap f7845b2 ...:555(匿名函数)@ bootstrap f7845b2 ...:578(匿名函数)@ bootstrap f7845b2 ...:578



import html2canvas from 'html2canvas';
import jsPDF from 'jspdf';

doc.setFontSize(40);
doc.text(35, 25, "Paranyan loves jsPDF");

doc.addHTML(document.footer,function() {
     pdf.save('web.pdf');
});

<footer>
	<p id="to-pdf">HTML content...</p>
</footer>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:0)

来自https://github.com/MrRio/jsPDF/issues/1225

jsPDF要求html2canvas在窗口上:

window.html2canvas = html2canvas

答案 1 :(得分:0)

除了调用window.外,您还可以将导入内容修改为:import * as jsPDF from 'jspdf'

答案 2 :(得分:0)

在index.html中包含以下脚本,而不是在打字稿文件中导入

<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>