如何在数据表中导出pdf中的标题样式

Imp*_*oom 6 pdf jquery datatables

有问题的代码:

$("#my-table").DataTable( {
            data: dataSet,
            columns: columns,
            dom: 'Bfrtip',
            buttons: [
                {
                    extend: 'excelHtml5',
                    title: 'Awesome Export',
                },
                {
                    extend: 'pdfHtml5',
                    title: 'Awesome Export',
                    orientation: 'landscape',
                    pageSize: 'LEGAL'
                }
            ]
        });
Run Code Online (Sandbox Code Playgroud)

如何使用html设置标题样式:

var title = '<h1>My title</h1><br /> <p>by John</p>';

// then in the code
...
buttons: [
    {
        extend: 'excelHtml5',
        title: title
    }
]
...
Run Code Online (Sandbox Code Playgroud)

如果我尝试这样做,它会显示html标签而不是样式.

dav*_*rad 10

您不能在标题中使用HTML.似乎没有办法解决这个限制.BTW不是您期望从PDFmake完成的一项微不足道的任务.想一想 - 任何类型的HTML元素都应该映射到在画布上绘制PDF时使用的默认样式.但是,如果你担心的是,换行符\n会起作用<br>,即

var title = 'My title' + '\n' + 'by John';
Run Code Online (Sandbox Code Playgroud)

您拥有的唯一真正的选项是一组非常有限的"伪"-CSS引用,您可以将其添加到回调中的doc.styles.title文字中customize.例

buttons: [{
  extend: 'pdfHtml5',
  title: 'My title' + '\n' + 'a new line',
  customize: function(doc) {
    doc.styles.title = {
      color: 'red',
      fontSize: '40',
      background: 'blue',
      alignment: 'center'
    }   
  }  
}]
Run Code Online (Sandbox Code Playgroud)

在示例中看到这一点 - > https://jsfiddle.net/ztjLtbwm/

我称之为"伪"-CSS的原因是工作实体要么与CSS等价相同,要么非常接近.请在此处查看支持的样式的完整列表 - > https://github.com/bpampuch/pdfmake/blob/master/src/styleContextStack.js#L84您必须在每个实体上尝试错误,例如fillColor似乎不是尊重title; background确实 - 但不是backgroundColor.