簡體   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