繁体   English   中英

使用jsPDF保存pdf会出现错误:无法读取未定义的属性'elementHandlers'

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM