首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将在javascript中创建的表导出到pdf文件,而不在页面上显示该表。

将在javascript中创建的表导出到pdf文件,而不在页面上显示该表。
EN

Stack Overflow用户
提问于 2017-02-24 13:35:08
回答 1查看 243关注 0票数 0

我想保存一个特定用户的数据到一个pdf文件,这是在按钮上点击,而不是在页面上显示表格,我正在使用jspdf为此,

代码语言:javascript
复制
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。

我得到了以下错误,

代码语言:javascript
复制
 Uncaught TypeError: Cannot read property 'appendChild' of null

代码尝试将表数据下载到pdf文件中,而不实际在页面上显示表,如果我将表附加到在html中创建的div,然后将div传递给jspdf函数,则可以很好地工作,但由于我不想在页面上显示表,因此这不是实现此目的的正确方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-24 13:57:37

我对你的代码做了修改,基本上你可以直接使用引用。

代码语言:javascript
复制
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');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42431483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档