调整DataTable pdf导出的列宽

时间:2016-11-03 10:55:25

标签: jquery css pdf datatables

我已经去过这个帖子Set Column width when exporting to pdf when using datatables net,但它差不多一年了,并没有解决我的问题。我想在pdf中导出DataTable时调整列的列宽。我试过了,但没有改变:

$('#table').dataTable({
    "dom": '<"top"f>tiB',
    paging: false,
    fixedHeader: {headerOffset: 45},
    buttons: [
    {
        extend: 'pdfHtml5',
        exportOptions: {
            columns: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
        },
        customize : function(doc) {
            doc.styles['td:nth-child(8)'] = { 
                width: '1000px',
                'max-width': '1000px'
            }
        },
        text: 'Export: PDF',
        orientation: 'landscape',
        pageSize: 'A3',
    }]
});

包含了pdfmake.js,我也尝试了width: 1000"width: 1000"等等。

1 个答案:

答案 0 :(得分:1)

我的表中有八列,此代码对我来说很好:

$.extend( true, {}, buttonCommon, {
                       extend: 'pdfHtml5',
                       orientation: 'landscape',
                       pageSize: 'A0',
                       customize: function (doc) {
                           doc.defaultStyle.fontSize = 8; //2, 3, 4,etc
                           doc.styles.tableHeader.fontSize = 10; //2, 3, 4, etc
                           doc.content[1].table.widths = [ '2%',  '14%', '14%', '14%', 
                                                           '14%', '14%', '14%', '14%'];
                       }
    });