如何更改数据表中的导出 PDF 页面大小?

Posted

技术标签:

【中文标题】如何更改数据表中的导出 PDF 页面大小?【英文标题】:How to change export PDF page size in datatables? 【发布时间】:2016-09-15 02:29:42 【问题描述】:

我的表格包含 30 多列。我正在使用 datatable-JQuery 并且我有 CSV 按钮和 PDF 按钮来下载报告。导出 PDF 文件时我无法更改页面大小。(当我单击 PDF 按钮时)。下载的 PDF 文件包含半表数据。

请提出任何想法来导出完整的表格数据。 谢谢!

$(document).ready(function()   
    $('#example').DataTable( 
        dom: 'Bfrtip',
        buttons: [
           
               extend: 'csv',
               title: 'TIC TICKET REPORT',             
               exportOptions: 
               columns: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]
                
            ,
           
                extend: 'pdfhtml5',
                orientation: 'landscape',
                pageSize: 'LEGAL',
                title: 'TIC TICKET REPORT',             
                exportOptions: 
                    columns: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]
                
            
        ],
        "aoColumnDefs": [
          "bSortable": false, 
          "aTargets": []
        ],
        initComplete: function () 
            this.api().columns([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]).every( function () 
                var column = this;
                var select = $('<select><option value="">Select</option></select>')
                    .appendTo( $(column.footer()).empty() )
                    .on( 'change', function () 

                        var val = $.fn.dataTable.util.escapeRegex(
                            $(this).val()
                        );

                        column
                            .search( val ? '^'+val+'$' : '', true, false )
                            .draw();
                     );

                column.data().unique().sort().each( function ( d, j ) 
                    select.append( '<option value="'+d+'">'+d+'</option>' )
                 );
             );
        

    );
 );  

【问题讨论】:

下载的时候可以改大小,导出的时候不行?什么意思? 下载 PDF 时。(点击 PDF 按钮时) 感谢您编辑您的问题,我现在清楚了。回答它:我认为这是不可能的。固定宽度是 PDF 的缺点。 【参考方案1】:

如果将 pageSize 设置为字符串,则可以使用以下值之一:

'4A0'、'2A0'、'A0'、'A1'、'A2'、'A3'、'A4'、'A5'、'A6'、'A7'、'A8'、'A9' , 'A10', 'B0','B1','B2','B3','B4','B5','B6','B7','B8','B9','B10', 'C0','C1','C2','C3','C4','C5','C6','C7','C8','C9','C10', 'RA0'、'RA1'、'RA2'、'RA3'、'RA4'、 'SRA0'、'SRA1'、'SRA2'、'SRA3'、'SRA4'、 'EXECUTIVE'、'FOLIO'、'LEGAL'、'Letter'、'TABLOID'

喜欢; pageSize: '合法',

【讨论】:

【参考方案2】:

Size TABLOID 最多可调整 15 列。

 
            extend: 'pdfHtml5',
            orientation: 'landscape',
            pageSize: 'TABLOID',
            footer: true,

【讨论】:

以上是关于如何更改数据表中的导出 PDF 页面大小?的主要内容,如果未能解决你的问题,请参考以下文章

php中的PDF导出

如何使用 VBA 将 pdf 保存/导出到某个文件夹

如何使用 Python 获取 PDF 文件元数据“页面大小”?

如何通过mPDF将信息导出到一个单独页面的pdf文件中

如何在无头 Chrome 中更改纸张尺寸 --print-to-pdf

如何导出 angularjs UI Grid CSV 文件或 PDF 文件中的所有数据