TCPDF防止div进入新页面

时间:2016-10-05 16:37:44

标签: php html css tcpdf

我已经尝试了几乎所有我发现的东西,并且可能想到防止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仍然在任何地方(例如在桌子内部,或在第一个孩子之后)中断。 有没有解决方法来解决这个问题? (我还尝试单独编写每个div并检查是否创建了新页面并在以后回滚)

1 个答案:

答案 0 :(得分:0)

终于成功解决了这个问题!如果有人有同样的问题,这是我的解决方案:

  • 创建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, '');