我想将与特定用户相关的数据保存到pdf文件中,这是在点击按钮时完成的,而不是在页面上显示表格,我正在使用jspdf,
var div_cr= document.createElement("div");
div_cr.id="xdiv";
var Table_Pull = document.createElement("TABLE");
var header = Table_Pull.createTHead();
var row = header.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = "Date";
var cell = row.insertCell(1);
cell.innerHTML = "Attitude";
var cell = row.insertCell(2);
cell.innerHTML = "DeadlineMet";
var cell = row.insertCell(3);
cell.innerHTML = "Discippline";
var row = Table_Pull.insertRow(-1);
var cell1 = row.insertCell(0);
cell1.innerHTML="HEllo";
var cell2 = row.insertCell(1);
cell2.innerHTML="Hi";
var cell3 = row.insertCell(2);
cell3.innerHTML="Goodday";
var doc = new jsPDF();
var dvTable = document.getElementById("xdiv");
dvTable.appendChild(Table_Pull);
var specialElementHandlers = {
'#editor': function(element, renderer){
return true;
}
};
doc.fromHTML($('#dvTable').get(0), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
doc.save('Test.pdf');
上面的代码在javascript中创建一个div和table,将数据添加到表中并将表追加到div并将div传递给jspdf函数以创建div。
我收到以下错误,
Uncaught TypeError: Cannot read property 'appendChild' of null
代码尝试将表数据下载到pdf文件而不实际显示页面上的表,如果我将表附加到在html中创建的div然后将div传递给jspdf函数但是我没有想要在页面上显示表格,这不是实现它的正确方法
答案 0 :(得分:0)
我对您的代码进行了更改,基本上您可以直接使用该参考。
var div_cr= document.createElement("div");
div_cr.id="xdiv";
var Table_Pull = document.createElement("TABLE");
var header = Table_Pull.createTHead();
var row = header.insertRow(0);
var cell = row.insertCell(0);
cell.innerHTML = "Date";
var cell = row.insertCell(1);
cell.innerHTML = "Attitude";
var cell = row.insertCell(2);
cell.innerHTML = "DeadlineMet";
var cell = row.insertCell(3);
cell.innerHTML = "Discippline";
var row = Table_Pull.insertRow(-1);
var cell1 = row.insertCell(0);
cell1.innerHTML="HEllo";
var cell2 = row.insertCell(1);
cell2.innerHTML="Hi";
var cell3 = row.insertCell(2);
cell3.innerHTML="Goodday";
var doc = new jsPDF();
div_cr.appendChild(Table_Pull);
var specialElementHandlers = {
'#editor': function(element, renderer){
return true;
}
};
doc.fromHTML(div_cr, 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
doc.save('Test.pdf');