我使用dompdf创建pdf。
我在这里要求: -
如果上一页只剩下1行,我需要打开新页面。
示例tr如下: -
<tr><td align="left"><b>Heading</b></td></tr>
<tr><td><table width="95%" align="center" cellspacing="2" cellpadding="2" style="">
<tr><td><font size="14px" face="Verdana">content</font></td></tr>
</table></td></tr>
此要求的目的是 - HEADING和CONTENT的开始将在 同一页。有时HEADING进入页面,CONTENT从下一页开始。
我需要解决这种情况。
有人有任何想法吗?
答案 0 :(得分:1)
可能会有以下2种可能性帮助你。
1)如果你在for循环或while循环中使用它,那么在第一页中你可以在你的循环中使用count意味着只有一些计数数据将显示在另一个页面将显示之后但在开始另一个页面之前使用以下代码。
<div style="page-break-after:always;"></div>
通过使用此代码页将断开并从另一个新页面开始。
2)如果你使用简单的表tr td标签没有任何循环,而不仅仅是在一些tr标签关闭表和我们上面的分页代码和开始形式剩余的tr标签之后。
答案 1 :(得分:0)
理想情况下,您会将孤儿和寡妇用于此类事情。不幸的是,dompdf不支持这个答案。
1)如果&#34; Heading&#34;是真正的标题,然后把它放在thead部分。要记住的主要事情是它将传播到所有表的主体占用的页面。虽然当你只有一个身体行时,dompdf如何处理这个问题有一些特点。
<table>
<thead>
<tr><th align="left"><b>Heading</b></td></tr>
</thead>
<tbody>
<tr><td>
<table width="95%" align="center" cellspacing="2" cellpadding="2" style=""><tr><td>
<font size="14px" face="Verdana">content</font>
</td></tr></table>
</td></tr>
</tbody>
</table>
2)使用page-break-after: avoid;
为标题行设置样式。不幸的是,这并不像dompdf那样真正起作用。
<table>
<tr style="page-break-after: avoid;"><th align="left"><b>Heading</b></td></tr>
<tr><td>
<table width="95%" align="center" cellspacing="2" cellpadding="2" style=""><tr><td>
<font size="14px" face="Verdana">content</font>
</td></tr></table>
</td></tr>
</table>
3)不要使用表格,dompdf实际上做得更好。
<div>
<div style="page-break-after: avoid;"><b>Heading</b></div>
<div style="page-break-before: avoid; width: 95%; margin: auto;">
<font size="14px" face="Verdana">content</font>
</div>
</div>
(我将这最后一个基于您提供的示例HTML。如果这不是您的用例,那么请更多地构建您的示例代码,以便我们知道您尝试了什么实现。)