我正在尝试使用DataTables导出功能,我可以将其导出为CSV,xlxs,pdf.现在我目前的要求是导出自定义pdf(更改字体大小,颜色等).在DataTable文档中指出,我们可以将它与PDFmake集成,我无法这样做.
如果有人可以帮助以一种方式将PDFmake与DataTables集成/使用,那将非常有帮助.
提前致谢.
我正在初始化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'
}
]
});
Run Code Online (Sandbox Code Playgroud)
我需要所有必需的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',
}
};
Run Code Online (Sandbox Code Playgroud)
此代码分配要使用的自定义字体 Alef。我指定为 vfs 的字体。
(如果您对如何制作感兴趣,请参阅https://github.com/bpampuch/pdfmake/wiki/Custom-Fonts---client-side )
对于其他自定义,您需要的是按钮中的自定义选项。
请参阅此处: https: //datatables.net/reference/button/pdfHtml5
这是如何在数据表中初始化新字体的示例
$("table").DataTable({
buttons: [
{
extend: 'pdf', className: 'btn green btn-outline', text: 'Export PDF',
customize: function (doc) {
doc.defaultStyle =
{
font: 'alef'
}
}
}
]
});
Run Code Online (Sandbox Code Playgroud)