如何避免跨页面拆分 HTML 表格

seb*_*e93 5 html css pdf-generation dompdf wkhtmltopdf

请原谅我的英语。

我正在打印一份 pdf 格式的大型报告,其中包括一些表格(一张接一张的表格)。为此,我首先在 html 中生成报告,然后使用dompdf将其传递给 pdf

这是我一张一张地打印一张桌子的方式:

<div>
  <table>
  -----
  </table>
</div>

<div>
  <table>
  -----
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

这是分页符时打印表格的方式

问题是当有分页符时,表格行被拆分。我想避免它。

我尝试使用 CSS 打印属性,但它不起作用,在其他情况下,page-break-before: always;将我的报告的每个表格打印在不同的页面上。

<style type="text/css">
table { page-break-inside:auto }
tr    { page-break-inside:avoid; page-break-after:auto }
thead { display:table-header-group }
tfoot { display:table-footer-group }
</style>
Run Code Online (Sandbox Code Playgroud)

因为只有在必要时,我才能在报告中的所有表格中强制分页。

请帮忙。

Ami*_*mar 5

检查此链接: Link1
Link2
Link3

有很多与您的问题相关的答案,因此请先尝试这个答案。您可以尝试使用 CSS:

<table class="print-friendly">
 <!-- The rest of your table here -->
</table>

<style>
    table.print-friendly tr td, table.print-friendly tr th {
        page-break-inside: avoid;
    }
</style>
Run Code Online (Sandbox Code Playgroud)

大多数 CSS 规则并不<tr>直接应用于标签,正如您上面指出的那样 - 它们具有独特的display样式,不允许使用这些 CSS 规则。然而,它们中的<td>和标签通常允许这种规范 - 并且您可以使用 CSS 轻松地将此类规则应用于所有子- 和 ,如上所示。<th><tr><td>