我正在尝试使用 DataTables 导出功能,在那里我可以导出为 CSV、xlxs、pdf。现在我当前的要求是导出自定义 pdf(更改字体大小、颜色等)。在 DataTable 文档中,它指出我们可以将它与 PDFmake 集成,但我无法这样做。
如果有人可以帮助将 PDFmake 与 DataTables 集成/使用,那将非常有帮助。
提前致谢。
我正在初始化数据表
var table = $('#Table').DataTable( {
lengthChange: true,
buttons: [
'copyHtml5',
{
extend: 'csvHtml5',
title: 'FileName'
},
{
extend: 'excelHtml5',
title: 'FileName'
},
{
extend: 'pdfHtml5',
orientation: 'landscape',
title: 'FileName',
//download: 'open',
pageSize: 'A3'
}
]
});
我拥有所有必需的 JS 和 CSS 文件,如何在其中链接 PDFMake?
最佳答案
当您声明 DataTables 并更改字体时,您可以访问 PdfMake 对象,如下所示:
window.pdfMake.fonts = {
alef: {
normal: 'Alef-Bold.ttf',
bold: 'Alef-Bold.ttf',
italics: 'Alef-Bold.ttf"',
bolditalics: 'Alef-Bold.ttf',
}
};
此代码指定要使用的自定义字体 Alef。我指定为 vfs 的字体。
(如果您对如何制作感兴趣,请参阅 https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side)
对于其他自定义,您需要的是按钮中的自定义选项。
看这里:
https://datatables.net/reference/button/pdfHtml5
下面是一个如何在DataTable中初始化新字体的例子
$("table").DataTable({
buttons: [
{
extend: 'pdf', className: 'btn green btn-outline', text: 'Export PDF',
customize: function (doc) {
doc.defaultStyle =
{
font: 'alef'
}
}
}
]
});
关于数据表和 PDFmake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33561932/