我已经尝试了几乎所有我发现的和可能想到的方法来防止 div(里面有一些文本和一个表格)不进入下一页,但没有发现任何工作。
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 仍然会在任何地方中断(例如在表格内,或在第一个 child 之后)。 有什么解决方法可以解决这个问题吗? (我也尝试单独编写每个 div 并检查是否创建了新页面并回滚以防万一)
最佳答案
终于解决了!如果有人遇到同样的问题,这是我的解决方案:
- 创建 pdf 类的副本
- 在编写 HTML 代码之前检查您所在的页面
- 编写 HTML 代码
在编写 HTML 代码后检查页面,如果它与之前不同,则必须在实际编写之前创建一个新页面(在原始 pdf 类中)
$_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, '');
关于php - TCPDF 防止 div 进入新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39879464/