使用javascript将HTML表格转换为pdf

时间:2014-09-29 12:32:27

标签: javascript html angularjs pdf jspdf

我已经创建了一个应用程序,用于使用 jsPDF 插件的javascript将html表下载到pdf。该应用程序工作正常,但问题是该表不正确。表格的宽度以及标题未正确分配。我正在使用angularjs创建表。

任何人都可以给我一些关于这个问题的建议

JSFiddle

function demoFromHTML() {
    var pdf = new jsPDF('p', 'pt', 'letter');
    source = $('#customers')[0];
    specialElementHandlers = {
        '#bypassme': function (element, renderer) {
            return true
        }
    };
    margins = {
        top: 4,
        bottom: 4,
        left: 4,
        width: 522
    };
    pdf.fromHTML(
    source, // HTML string or DOM elem ref.
    margins.left, // x coord
    margins.top, { // y coord
        'width': margins.width, // max width of content on PDF
        'elementHandlers': specialElementHandlers
    },

    function (dispose) {
        pdf.save('Test.pdf');
    }, margins);
}

2 个答案:

答案 0 :(得分:4)

我猜您当前必须手动执行此操作(fiddle):

function demoFromHTML() {
    var pdf = new jsPDF('p', 'pt', 'letter');

    pdf.cellInitialize();
    pdf.setFontSize(10);
    $.each( $('#customers tr'), function (i, row){
        $.each( $(row).find("td, th"), function(j, cell){
            var txt = $(cell).text().trim() || " ";
            var width = (j==4) ? 40 : 70; //make 4th column smaller
            pdf.cell(10, 50, width, 30, txt, i);
        });
    });

    pdf.save('sample-file.pdf');
}

答案 1 :(得分:0)

尝试使用“ jspdf”而不是“ jsPDF”