首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTables PDF导出(pdfmake):如何防止分页符中的行中断?

DataTables PDF导出(pdfmake):如何防止分页符中的行中断?
EN

Stack Overflow用户
提问于 2017-04-05 11:15:35
回答 2查看 2.4K关注 0票数 3

我正在尝试用DataTables定制(它使用pdfmake)。除了dontBreakRows之外,我所有的自定义样式都在工作,这似乎没有什么区别,因此表行内容被分割成分页,而不是在下一页不适合前一页时将它们放在一起,这正是我所期望的。

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

这是我的密码:

代码语言:javascript
复制
(...)
$.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
        }              
    }

}),
(...)

我做错了什么?谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-09-25 14:42:44

我也有同样的问题。样式不起作用。

对我来说,这是可行的(取决于表在内容中的位置):

代码语言:javascript
复制
doc.content[1].table.dontBreakRows = true; 

如果你想出更好的办法,就告诉我

票数 5
EN

Stack Overflow用户

发布于 2019-09-25 19:40:59

您使用的是bodyOddbodyEven,所以您需要使用

代码语言:javascript
复制
doc.styles.tableBodyOdd.noWrap = true;
doc.styles.tableBodyEven.noWrap = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43229588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档