【问题标题】:mPDF: Text becomes small when string in table is too longmPDF:当表格中的字符串太长时,文本变小
【发布时间】:2018-03-16 16:23:29
【问题描述】:

我正在使用从数据库中获取的信息构建一个 mPDF 代码。

当用户插入太多文本时,当它在 mPDF 中打印时,文本的大小会变得非常小。我希望文本的大小与 PDF 中文档的其余部分相同。

这是我的代码:

$mpdf->AddPage();
$mpdf->WriteHTML("<h1>Habilitações Literárias</h1>");
$mpdf->WriteHTML("<br>");

$query2=mysql_query("SELECT * from hl where id_user='$idd'" );
$row2 = array();

while ($data2 = mysql_fetch_array($query2)) {
    $row2[] = $data2; 
}

foreach ($row2 as $x2) {
    $dataa2 = $x2[0];
    $instituicao = $x2[1];
    $descricao2 = $x2[2];
    $mpdf->WriteHTML("<table border='0' width='100%'>");
    $mpdf->WriteHTML("<tr><td><b>Instituição:</b> $instituicao</td> <td><b>Data:</b> $dataa2 </td></tr>   ");
    $mpdf->WriteHTML("<tr><td><b>Descrição:</b> $descricao2 </td></tr>");
    $mpdf->WriteHTML("</table>");
    $mpdf->WriteHTML("<hr>");
}

这是一个带有示例的图片链接:http://i.imgur.com/HNT0Rkg.png

如您所见,最后一条记录上的文本非常小,因为“Descricao”字段非常大。

【问题讨论】:

  • 仅供参考,我们也可以通过其他方式解决此问题。当表格 tr 有非常大的内容时,我也面临同样的问题。我尝试了这个选项 - $mpdf->shrink_tables_to_fit=0 这对我没有帮助。我所做的,我将 html 结构从 table 更改为 div,现在问题已解决。它可能对某人有所帮助。感谢您发布此问题。

标签: php html mpdf


【解决方案1】:

我刚刚修复了类似的问题,在阅读源代码后使用 style="overflow:wrap":

elseif ($table['overflow']=='wrap')

【讨论】:

  • 如果您不想在库更新时丢失更改,则应避免直接编辑源代码。我通过使用样式标签 table {overflow:wrap } 更改 html 代码中的 CSS 来做了同样的事情
【解决方案2】:

mPDF 自动减小表格中的字体大小。在config.php 中的$this-&gt;shrink_tables_to_fit 变量中设置了最大收缩系数。它可以关闭/设置不同的

$mpdf->shrink_tables_to_fit=0

在 config.php 中或为打开表格标记提供额外参数:

<table autosize="1">

变量的默认值为 1.4。

另见mPDF manual on tables

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 2013-04-04
    相关资源
    最近更新 更多