如何防止使用mPDF和PHP在PDF中调整表的大小?

如何防止使用mPDF和PHP在PDF中调整表的大小?,php,html,pdf-generation,dynamic-programming,Php,Html,Pdf Generation,Dynamic Programming,我有一些表格数据,提交后,生成了PDF。问题是PDF格式表格的大小。如果表单中的某个字符串太长,则PDF生成错误。那是因为桌子。它们有静态大小,所以如果字符串太长,表就不能容纳它。我使用mPDF库 如何使此表的大小动态变化,以便根据字符串的长度更改其大小 如果字符串{p}最长,则表的宽度将减小。我想知道,如果字符串{p}比表的宽度长,那么{p}应该在下一行写出,并且表的高度应该增加 如果字段(名称)中的字符串较短,则显示屏幕截图: 如果字段(名称)中的字符串很长,则显示屏幕截图: 如果字段(

我有一些表格数据,提交后,生成了PDF。问题是PDF格式表格的大小。如果表单中的某个字符串太长,则PDF生成错误。那是因为桌子。它们有静态大小,所以如果字符串太长,表就不能容纳它。我使用mPDF库

如何使此表的大小动态变化,以便根据字符串的长度更改其大小

如果字符串{p}最长,则表的宽度将减小。我想知道,如果字符串{p}比表的宽度长,那么{p}应该在下一行写出,并且表的高度应该增加

如果字段(名称)中的字符串较短,则显示屏幕截图:

如果字段(名称)中的字符串很长,则显示屏幕截图:

如果字段(名称)中的字符串很长,则显示屏幕截图:

以下是mPDF的一段代码:

$mpdf=new mPDF('UTF-8','A4','','',20,15,48,25,10,10);

$mpdf->shrink_tables_to_fit=1;
$mpdf->keep_table_proportions = true;
$mpdf->WriteHTML(generatePDF());
$mpdf->AddPage();
$mpdf->WriteHTML(generatePDF2());

$mpdf->Output();
exit;
和HTML表的片段:

function generatePDF(){
    global $a,$b,$c,$d;
    $html = getHTMLStyle().'

<div style="text-align: left;"><span style="font-size: 11pt;font-weight: bold;">FORMULARZ KONSULTACJI<br />PROJEKTU PRAWA MIEJSCOWEGO<br /> W ZAKRESIE DZIAŁALNOŚCI STATUTOWEJ ORGANIZACJI POZARZĄDOWEJ*<br /><br /></span></div>

<table class="items" width="100%" style="font-size: 9pt; border-collapse: collapse;" cellpadding="8">

<tr>
<td width="5%">A</td>
<td width="95%"><b>'.$a.'</b><br /><br /> '.$_POST['title'].'</td>
</tr>
函数generatePDF(){
全球$a、$b、$c、$d;
$html=getHTMLStyle()
公式化的公共服务项目
A. “.$a.”

。$\u POST['title']
此处:

<tr>
<td width="5%">A</td>
<td width="95%"><b>'.$a.'</b><br /><br /> '.$_POST['title'].'</td>
</tr>


A.
“.$a.”

。$\u POST['title']
尝试使用固定的表格宽度值而不是百分比。类似于:

<table class="items" width="950" style="font-size: 9pt; border-collapse: collapse;" cellpadding="8">


看看会发生什么。

很难找到问题,但答案很简单。 读取源代码后,使用style=“overflow:wrap”的表格:

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

这是一个迟来的答案,但现在值得回答。当一个表tr有非常大的内容时,我也面临同样的问题。我尝试了下面的解决方案,但没有成功

$mpdf->shrink_tables_to_fit=0

然后我将我的html结构从table改为div,boom成功了。现在它工作得很好,大内容在页面之间正确地吐出,没有重叠的页眉和页脚。我希望它能帮助别人。干杯


<style>
    table {
        overflow: wrap;
    }
</style>
桌子{ 溢出:包裹; }
如果您解决了问题,请分享一个解决方案。您好,您成功解决了问题吗?我使用此解决方案是正确的,将表结构更改为div后,pdf看起来很漂亮。谢谢。您可以发现此链接对于将表转换为div格式很有用。注意:我已经尝试了SO中给出的所有解决方案,但这是最后一个解决方案他努力了,成功了。