2016-01-31 53 views
2

请原谅我的英语。如何避免跨页面拆分HTML表格

我正在打印pdf格式的大型报告,其中包括一些表格(表格之后的表格)。要做到这一点,我首先生成HTML格式的报告,然后传递到使用dompdf

PDF它这是我接连打印一个表的方式:

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

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

This is the way in which printed tables when there is a page break

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

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

因为我只能在必要的情况下在我的报告中强制分页。

请帮忙。

+0

dompdf目前不能识别表格元素上的分页指令。但是你需要澄清这个问题,因为dompdf也不能真正支持跨页面分解单元格内容。默认情况下,如果表格单元格无法适应页面,则整行将移动到下一页面。 – BrianS

回答

2

检查此链接: 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> 

大多数CSS规则并不适用于直接<tr>标签,因为正是你上面所指出的 - 他们有一个独特的display风格,不允许这些CSS规则。但是,其中的<td><th>标签通常可以使用这种规范 - 您可以很容易地将这些规则应用于所有child-<tr><td>,使用CSS如上所示。

+0

我正在尝试所有的答案,但是当我转换为DOMPDF,出于某种原因不起作用! – sebastianpe93

0

@ sebastianpe93尝试在打印介质查询中添加样式。这应该工作