php - TCPDF 防止 div 进入新页面

标签 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 仍然会在任何地方中断(例如在表格内,或在第一个 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/

相关文章:

javascript - 我无法弄清楚为什么弹出窗口会在出现错误或发送时消失并重新出现

jQuery $.address() 插件 : hashbang links colliding with HTML5 state support

html - 不同列之间的边界距离

javascript - getElementByClass().setAttribute 不起作用

php - str_用新行替换特定字符

php - PHP推理变量输出原理

php - 如何将句子中第一个单词的首字母大写?

javascript - 仅媒体查询未按预期运行

javascript - 为什么按钮没有变化?

php - Laravel 在 hasManyThrough 中包含用户的帖子