TCPDF 阻止 div 进入新页面
TCPDF prevent div from breaking into a new page
我已经尝试了几乎所有我发现的和可能想到的方法来防止 div(里面有一些文本和 table)不进入下一页,但是我没有'发现任何工作。
div 的基本结构如下所示:
<div nobr="true" style="page-break-inside:avoid;">
<b>...</b><br /><a>...</a>...
<table nobr="true" style="page-break-inside:avoid;">
<tr>...</tr>
...
</table>
</div>
div 仍然在任何地方中断(例如在 table 内,或在第一个 child 之后)。
有什么解决方法可以解决这个问题吗? (我也尝试单独编写每个 div 并检查是否创建了新页面并回滚以防万一)
终于解决了这个问题!如果有人遇到同样的问题,这是我的解决方案:
- 创建 pdf 副本class
- 在编写 HTML 代码之前检查您所在的页面
- 编写HTML代码
检查你写完HTML代码后的页面,如果和之前不一样就得新建一个页面(在原pdf中class)在实际写作之前
$_pdf = clone $pdf;
$startpage = $_pdf->PageNo();
$_pdf->writeHTMLCell( 0, 0, '', '', $html, 0, 1, false, true, 'C' );
$endpage = $_pdf->PageNo();
if($startpage != $endpage) {
$pdf->addPage();
}
$pdf->writeHTML($css . $htmlP, true, false, true, false, '');
我已经尝试了几乎所有我发现的和可能想到的方法来防止 div(里面有一些文本和 table)不进入下一页,但是我没有'发现任何工作。
div 的基本结构如下所示:
<div nobr="true" style="page-break-inside:avoid;">
<b>...</b><br /><a>...</a>...
<table nobr="true" style="page-break-inside:avoid;">
<tr>...</tr>
...
</table>
</div>
div 仍然在任何地方中断(例如在 table 内,或在第一个 child 之后)。 有什么解决方法可以解决这个问题吗? (我也尝试单独编写每个 div 并检查是否创建了新页面并回滚以防万一)
终于解决了这个问题!如果有人遇到同样的问题,这是我的解决方案:
- 创建 pdf 副本class
- 在编写 HTML 代码之前检查您所在的页面
- 编写HTML代码
检查你写完HTML代码后的页面,如果和之前不一样就得新建一个页面(在原pdf中class)在实际写作之前
$_pdf = clone $pdf; $startpage = $_pdf->PageNo(); $_pdf->writeHTMLCell( 0, 0, '', '', $html, 0, 1, false, true, 'C' ); $endpage = $_pdf->PageNo(); if($startpage != $endpage) { $pdf->addPage(); } $pdf->writeHTML($css . $htmlP, true, false, true, false, '');