[英]Saving pdf with jsPDF gives error: Cannot read property 'elementHandlers' of undefined
我想将某些网页自动保存为pdf。 为此,我遇到了jsPDF 。 目标页面上的代码无法正常工作。 所以我创建了一个伪代码:
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js');
var doc = new jsPDF();
var pdfStr = "<div><div>Mahesh</div><img src=\"https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png\" /></div>"
//creating dom from string
var div = document.createElement('div');
div.innerHTML = pdfStr;
var pdfHtml = div.childNodes;
doc.fromHTML(pdfHtml);
doc.save('pdfjsdemo.pdf');
我要在Chrome控制台中复制以下代码,然后按Enter。 它给了我:
Uncaught TypeError: Cannot read property 'elementHandlers' of undefined
at Object.f.fromHTML (jspdf.min.js:75)
at <anonymous>:11:5
我使用<div><div></div><img></img></div>
格式的dom字符串,因为那是我的目标页面的样子。
另外,如果我用
doc.text("<div>mahesh</div>");
保存所需的PDF。
那么这是怎么回事?
github上似乎有许多类似的线程。 这是不可能的。 还是他们是jspdf的更好替代品?
div.childNodes
返回一个数组-您需要获取它的第一个元素。
替换var pdfHtml = div.childNodes;
var pdfHtml = div.childNodes[0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.