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

2024-04-18

请原谅我的英语。

我正在打印一份 pdf 格式的大型报告,其中包括一些表格(一个又一个的表格)。为此,我首先生成 html 格式的报告,然后使用dompdf http://pxd.me/dompdf/www/

这是我打印一张又一张表格的方式:

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

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

这是有分页符时打印表格的方式 https://i.stack.imgur.com/l9RUY.png

问题是,当存在分页符时,表行会被分割。我想避免它。

我尝试使用 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>

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

请帮忙。


检查此链接:Link1 https://stackoverflow.com/questions/9288802/avoid-page-break-inside-row-of-table
Link2 https://stackoverflow.com/questions/1763639/how-to-deal-with-page-breaks-when-printing-a-large-html-table
Link3 https://stackoverflow.com/questions/8712677/how-to-apply-css-page-break-to-print-a-table-with-lots-of-rows

有很多与您的问题相关的答案,因此请先尝试这个答案。 您可以尝试使用 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>

大多数 CSS 规则不适用于<tr>直接标记,因为正是您上面指出的 - 它们有一个独特的displaystyle,它不允许这些 CSS 规则。但是,那<td> and <th>通常其中包含标签do允许这种规范 - 并且您可以轻松地将此类规则应用于所有孩子 -<tr>'s and <td>如上所示使用 CSS。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何避免跨页面拆分 HTML 表格 的相关文章

随机推荐