使用带有格式化表数据的jsPDF创建pdf

use*_*816 10 html jquery html-table export-to-pdf jspdf

我可以使用下面的脚本从html表生成PDF文件:但我得到的所有列数据都是逐行的.

请帮助我以表格格式化方式生成PDF文件.(在此脚本中使用列边框,边距或填充,标题)

我使用jsPDF lib脚本生成一个HTML表格.

 var pdf = new jsPDF('p', 'pt', 'letter')   
    , source = $('#TableId')[0] 
    , specialElementHandlers = {
        // element with id of "bypass" - jQuery style selector
        '#bypassme': function(element, renderer){           
            return true
        }
    }

    , margins = {
             top: 20,
             bottom: 20,
             left: 30,
             width: 922
         };


    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
    )
Run Code Online (Sandbox Code Playgroud)

编辑:

我也尝试了下面的这个示例函数,但我得到的是空的pdf文件.

function exportTabletoPdf()
{
    var doc = new jsPDF('p','pt', 'a4', true);
    var header = [1,2,3,4];
    doc.table(10, 10, $('#test').get(0), header, {
    left:10,
    top:10,
    bottom: 10,
    width: 170,
    autoSize:false,
    printHeaders: true
    });
    doc.save('sample-file.pdf');
}
Run Code Online (Sandbox Code Playgroud)

Osc*_*edo 26

我花了很多时间寻找我的表的好表示,然后我找到了这个插件(https://github.com/simonbengtsson/jsPDF-AutoTable),它很棒,包括主题,rowspan,colspan,从中提取数据html,与json一起使用,你也可以个性化你的标题并使它们成为横向.下图是一个例子: jsPDF-AutoTable

  • 太好了!感谢您的贡献! (2认同)
  • 非常感谢!现在可以使用这个插件了! (2认同)

Vin*_*inu 2

你必须使用类似 -- doc.setLineWidth(2); 的东西

对于线条边框..请查看以下示例代码

如何设置使用jsPDF生成pdf的列宽