长时间分页 table

Page break for long table

我有一个很长的 table,它在多个页面上显示行。当一页结束时,该行的一半打印在一页上,另一半打印在下一页上。如何确保新页面上的行完全打印?

CSS 属性: page-break-inside: avoid;HTML tr 元素上做到了。

测试:
wkhtmltopdf 0.12.3Linux (Ubuntu Trusty) 32-bit / 64-bit built on Ubuntu 14.04.2 提供,如下所示: http://wkhtmltopdf.org/downloads.html#stable

快速而肮脏的测试可能如下所示:

<tr style="page-break-inside: avoid;">
  <!-- A little border to see the result more easily -->
  <td style="border: solid 1px blue;">
    Large text possibly displayed on several pages ... 
    Large text possibly displayed on several pages ... 
    Large text possibly displayed on several pages ... 
    Large text possibly displayed on several pages ... 
  </td>
  <td>col2</td>
  <td>col3</td>
</tr>

Mozilla Developer Network page-break-inside description

最好将此 CSS 添加到相应的 类

#main_div {
        position: relative;
        width: 672px; /* find your width in px based on the page margins */
    }
tr td {
        page-break-before: auto;
        page-break-inside: avoid !important;
    }

但最重要的是为包含 table(或某些父项 div)的 容器提供以像素为单位的固定宽度 。应该适用于大多数 (WebKit) pdf 生成器并允许它们正确计算高度。

我可以确认在 kubuntu 中使用 wkhtmltopdf 0.12.6(带有修补的 qt)对我有用