我正在尝试使用库jsPDF将DIV的内容导出到PDF中。
问题是,当我尝试导出div的内容时,我在pdf中看到的只是div实际内容的一部分,并且没有我想要导出的所有文档。
代码如下:
// Javascript
function pdf() {
var doc = new jsPDF('p', 'in', 'letter');
var specialElementHandlers = {
'#ricercaChat': function (element, renderer) {
return true;
}
};
doc.fromHTML($("#ricercaChat").html(), 15, 15, {
'width':170,
'elementHandlers': specialElementHandlers
});
doc.save('role.pdf');
}
//HTML
<a href="#" onclick="pdf()"><img src="immagini/pdf1.png"></a>
<div id="ricercaChat" width="100%">
...( html loaded with jQuery.load that is another page )</div>
我尝试在下面的代码中修改函数:
var htmlall = document.getElementById('ricercaChat').innerHTML; // there is ALL the html content
doc.fromHTML(htmlall, 15, 15, { ...
在这种模式下,pdf是完全空白的。
我该如何解决这个问题?非常感谢
发布于 2014-11-07 12:44:27
问题出在这段代码上:
var specialElementHandlers = {
'#ricercaChat': function (element, renderer) {
return true;
}
};
它所做的是,它告诉jsPDF在生成pdf时忽略"#ricercaChat“中的内容。因此你会得到一个空白的pdf。您可以在没有specialElementHandlers的情况下简单地生成:
doc.fromHTML($("#ricercaChat").html(), 15, 15);
发布于 2014-10-15 10:33:03
试试这个(从html创建一个图像):
// Javascript
function pdf() {
var canvas = document.getElementById('ricercaChat');
// save canvas image as data url (png format by default)
var dataURL = canvas.toDataURL();
var imgData = dataURL;
var doc = new jsPDF();
doc.addImage(imgData, 'JPEG', 15, 40);
doc.save('role.pdf');
}
https://stackoverflow.com/questions/26379914
复制