我有一个用于保存html页面的按钮。当用户单击按钮时,我想触发jsPDF函数,但返回“ jspdf PubSub错误”,并且生成的pdf文件为空。
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function(element, renderer){
return true;
}
};
$('.voucher-actions__save').click(function () {
doc.fromHTML($('body').html(), 0, 0, {
'width': 170,
'elementHandlers': specialElementHandlers
});
//doc.save('voucher.pdf');
console.log(doc);
});
最佳答案
添加以下代码,它应该可以工作
// #clientPrintContent is the element id which contains print content
// Print Docs
function printPDF() {
var doc = new jsPDF();
var elementHandler = {
'#clientPrintContent': function (element, renderer) {
return true;
}
};
var source = document.getElementById("clientPrintContent");
doc.fromHTML(
source,
15,
15,
{
'width': 180, 'elementHandlers': elementHandler
});
// Output
doc.save('sample-file.pdf');
}
您可以从jsPDF添加CDN托管库
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.debug.js" integrity="sha384-THVO/sM0mFD9h7dfSndI6TS0PgAGavwKvB5hAxRRvc0o9cPLohB0wb/PTA7LdUHs" crossorigin="anonymous"></script>
关于javascript - jsPDF始终在控制台上返回jsPDF PubSub错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45561717/