【问题标题】:MPDF generates blank pages before content instead of breaking table to 2 pagesMPDF 在内容之前生成空白页,而不是将表格分成 2 页
【发布时间】:2016-09-26 09:27:03
【问题描述】:

我在通过MPDF(5.7 版)生成 pdf 时遇到了奇怪的问题。

用于 pdf 的 HTML 在其中包含几乎 1 个 div 和表格:

<div style="width: 992px; height: 1403px; margin: 0 auto; padding-left: 30px; -webkit-box-sizing: border-box;-moz-box-sizing: border-box;box-sizing: border-box;">

    <TABLE BORDER BORDERCOLOR=#fff CELLSPACING=0 WIDTH=100%>

表格内容不适合 1 页,因此它应该在内部某处中断 2 页,而是在内容前添加 4 个空白页,然后在第 1 行和最后一页休息的页面上输出 1 tr表。

这是MPDF 配置:

    $mpdf = new mPDF('utf-8', 'A4', '6', '', 10, 10, 7, 7, 10, 10);
    $mpdf->charset_in = 'utf-8';
    $mpdf->shrink_tables_to_fit = 0;
    $mpdf->list_indent_first_level = 0;
    $mpdf->WriteHTML($html, 2);

shrink_tables_to_fit 无法删除,因为它是用于打印的文档。

其他模板可以很好地处理分页的表格。

有没有办法解决这个问题?

更新: 升级到 6.0 版本后问题消失了。

【问题讨论】:

  • 有时 mpdf 不显示 css,因为您可以在浏览器中查看。小心那个高度:主 div 中的 1403px。 (但我不知道这是否正是问题所在)
  • 这也无济于事(有高度)

标签: php pdf mpdf


【解决方案1】:

检查 mPDF 插件并仅使用受支持的 CSS 并尝试使用此 mPDF 代码。

    $mpdf=new mPDF(); 
    $mpdf->SetDisplayMode('fullpage');
    $mpdf->list_indent_first_level = 0; 
    $mpdf->WriteHTML($html);

【讨论】:

  • 能给我一个完整的html吗?
  • 完整的html是1000行代码,在这里发帖没有意义。
【解决方案2】:

我在使用版本 5.7.2 时遇到了同样的问题,我通过从表中删除 colspanrowspan 解决了这个问题,而无需升级。

【讨论】:

    【解决方案3】:

    您需要在额外的div 中使用分页符选项来控制分页符。

    【讨论】:

      猜你喜欢
      • 2022-06-10
      • 1970-01-01
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-04
      • 2014-07-24
      相关资源
      最近更新 更多