0

晚上好,在我的应用程序中,我使用 jsPDF 以 adobe pdf 格式导出数据,特别是我需要导出一个表格,并且在上下文中我使用了以下代码:

// This, in a function in part
var doc = new jsPDF();
    var specialElementHandlers = {
        '#editor': function (element, renderer) {
            return true;
        }
    };
$('#pdf' + NomeMezzo).click(function () {
        var table = tableToJson($('#TblStr' + 0 + NomeMezzo).get(0))
        var doc = new jsPDF('p', 'pt', 'a4', true);
        doc.cellInitialize();
        $.each(table, function (i, row) {
            console.debug(row);
            $.each(row, function (j, cell) {
                doc.cell(10, 50, 120, 50, cell, i);  
            })
        }) 
        doc.save();
    });    

function tableToJson(table) {
    var data = [];    
    // first row needs to be headers
    var headers = [];
    for (var i = 0; i < table.rows[0].cells.length; i++) {
        headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi, '');
    }

    // go through cells
    for (var i = 0; i < table.rows.length; i++) {
        var tableRow = table.rows[i];
        var rowData = {};    
        for (var j = 0; j < tableRow.cells.length; j++) {
         rowData[headers[j]] = tableRow.cells[j].innerHTML;
         }
    data.push(rowData);
    }
  return data;
}

一开始,导入三个 fil js:

<script src="assets/jspdf.js"> </ script>
<script src="assets/jspdf.plugin.cell.js"> </ script>
<script src="assets/FileSaver.js"> </ script>

在执行此代码时返回错误: Uncaught ReferenceError : adler32cs is not defined 。 您可以将表格导入 pdf 吗?

4

2 回答 2

0

您必须使用其中一个包含已准备好用于生产的所有内容的distjspdf.debug.js文件,或者从https://github.com/MrRio/jsPDF/tree/master/distjspdf.min.js中选择其中一个

于 2014-04-29T04:40:20.840 回答
0

我遇到了同样的问题,我通过在头部添加下面来解决我的问题。似乎只添加 jspdf.js 和插件 js 文件有时是不够的:

<script src="../libs/Deflate/adler32cs.js"></script>

于 2014-04-13T07:45:02.837 回答