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