如何更改数据表中的导出 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 页面大小?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python 获取 PDF 文件元数据“页面大小”?