Как предотвратить изменение размера таблицы в PDF с помощью mPDF и PHP?

У меня есть данные формы, и после отправки создается PDF-файл. Проблема заключается в размере таблиц в формате PDF. Если некоторая строка в моей форме слишком длинная, PDF создается неправильно. Это потому, что таблицы. Они имеют статический размер, поэтому, если строка слишком длинная, таблица не вмещает ее. Я использую библиотеку mPDF.

Как я могу сделать эту динамику размеров таблиц так, чтобы их размер изменился в зависимости от длины строки?

Если строка {p} длиннее, то ширина таблицы уменьшает размер таблицы. Я хочу, если строка {p} длиннее ширины таблицы, тогда {p} должна записываться в следующей строке, а высота таблицы должна увеличиваться.

Снимок экрана, если строка в поле (имя) короткая:

короткая строка {p}

Снимок экрана, если строка в поле (имя) длинна:

длинная строка {p}

Снимок экрана, если строка в поле (имя) очень длинная:

very_long строка

Вот фрагмент кода с 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> 

Вот:

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

Попробуйте использовать фиксированное значение для ширины таблицы вместо процента. что-то вроде:

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

И посмотрим, что произойдет.

Это поздний ответ, но сейчас стоит ответить. Я тоже столкнулся с такой же проблемой, когда таблица tr имеет очень большой контент. Я попробовал решение ниже, но не повезло.

$ Mpdf-> shrink_tables_to_fit = 0;

Затем я изменил свою структуру html из таблицы в div, бум сработал. Итак, теперь он работает отлично, и большой контент правильно расплескивается между страницами, не перекрывая верхний и нижний колонтитулы. Надеюсь, это поможет кому-то. ура

Это очень сложно найти, но ответ прост. table with style = "overflow: wrap" после прочтения исходного кода:

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