5

我正在尝试使用 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?

4

1 回答 1

4

当您声明 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 )

对于其他自定义,您需要的是 Button 中的自定义选项。

见这里: 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'
                            }

                          }
                       } 
                   ]
               });
于 2015-11-22T11:57:06.257 回答