【问题标题】:DataTables PDF export (pdfmake): how to prevent breaking rows in page breaks?DataTables PDF 导出 (pdfmake):如何防止在分页符中破坏行?
【发布时间】:2017-08-30 23:21:47
【问题描述】:

我正在尝试使用 DataTables(使用 pdfmake)自定义 PDF 导出。除了dontBreakRows,我所有的自定义样式都可以使用,它似乎没有任何区别,因此表格行内容被拆分为分页符,而不是当它们不适合上一页时将它们放在下一页上,这是我所预料的。

我的 pdfmake 版本是 0.1.27(最后一个,日期), 数据表 1.10.12, 按钮 1.2.1

这是我的代码:

(...)
$.extend( true, {}, buttonCommon, {
    'extend': 'pdf',
    'text': 'PDF A4',
    'orientation': 'landscape',
    'pageSize': 'A4',
    'message': 'Date '+todays,
    'customize': function (doc) {
      doc.content.splice(1, 0, {
        margin: \{0, -32, 0, 8\},
        alignment: 'right',
        image: 'data:image/png;base64,(...)'
      });
      //These styles are working:
      doc.defaultStyle.fontSize = 10;
      doc.styles.title.fontSize = 12;
      doc.styles.tableHeader.fontSize = 11;
      doc.styles.tableFooter.fontSize = 11;
      doc.styles.tableHeader.alignment = 'left';
      doc.styles.title.bold = true;
      doc.styles.tableHeader.bold = true;
      doc.styles.tableHeader.color = '#ffffff';
      doc.styles.tableHeader.fillColor = '#666666';
      doc.styles.tableBodyOdd.fillColor = '#ffffff';
      doc.styles.tableBodyEven.fillColor = '#e9e9e9';
      doc.styles.tableHeader.noWrap = true;

      //It doesn't work:
      doc.styles.tableBodyOdd.dontBreakRows = true;
      doc.styles.tableBodyEven.dontBreakRows = true;
      doc.styles.tableBodyOdd.pageBreak = 'before';
      doc.styles.tableBodyEven.pageBreak = 'before';

      //It doesn't work neither:
      doc.defaultStyle = 
        {
          dontBreakRows: true
        }              
    }

}),
(...)

我做错了什么?谢谢!

【问题讨论】:

    标签: jquery pdf datatables pdfmake


    【解决方案1】:

    我遇到了完全相同的问题。 样式不起作用。

    对我来说这很有效(取决于表格在内容中的位置):

    doc.content[1].table.dontBreakRows = true; 
    

    如果你找到更好的方法,请告诉我

    【讨论】:

      【解决方案2】:

      你正在使用bodyOddbodyEven,所以你需要使用

      doc.styles.tableBodyOdd.noWrap = true;
      doc.styles.tableBodyEven.noWrap = true;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-16
        • 2016-02-06
        • 1970-01-01
        • 1970-01-01
        • 2011-09-14
        • 1970-01-01
        • 2018-12-23
        • 1970-01-01
        相关资源
        最近更新 更多