#html #laravel #wkhtmltopdf
#HTML #laravel #wkhtmltopdf wkhtmltopdf
Вопрос:
Я использую Laravel 8, Snappy и wkhtmltopdf 0.12.4 (с исправленным qt). Я сгенерировал HTML-таблицу со следующей структурой:
<table class="table table-bordered">
<thead>
<tr>
<td>Col 1</td>
<td>Col 2</td>
<td>Col 3</td>
<td>Col 4</td>
<td>Col 5</td>
<td>Col 6</td>
<td>col 7</td>
<td>col n</td>
<td>col n 1</td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="13">Title 1</td>
<td rowspan="13">Sub-title 1</td>
<td> x </td>
<td></td>
<td> 10.5-12 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
12.260
</a>
</td>
<td>
<a href="#">
12.300
</a>
</td>
</tr>
<tr>
<td> y</td>
<td> mgE/l </td>
<td></td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
0.080
</a>
</td>
<td>
<a href="#">
0.080
</a>
</td>
</tr>
<tr>
<td> z </td>
<td> mmol/l </td>
<td> 0.04 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
0.040
</a>
</td>
<td>
<a href="#">
0.040
</a>
</td>
</tr>
<tr>
<td> a </td>
<td> mgE/l </td>
<td></td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
20.800
</a>
</td>
<td>
<a href="#">
23.300
</a>
</td>
</tr>
<tr>
<td> b </td>
<td> mgE/l </td>
<td> 25 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
23.500
</a>
</td>
<td>
<a href="#">
26.400
</a>
</td>
</tr>
<tr>
<td> c </td>
<td> mg/l </td>
<td></td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
129.000
</a>
</td>
<td>
<a href="#">
148.000
</a>
</td>
</tr>
<tr>
<td> d </td>
<td> mg/l </td>
<td> amp;< 0.3 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
0.430
</a>
</td>
<td>
<a href="#">
1.230
</a>
</td>
</tr>
<tr>
<td> e </td>
<td> μS/cm </td>
<td> amp;< 8000 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
5320.000
</a>
</td>
<td>
<a href="#">
5960.000
</a>
</td>
</tr>
<tr>
<td> f </td>
<td> bar </td>
<td></td>
<td>
<span>N/A</span>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td> g </td>
<td></td>
<td> miss </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
miss
</a>
</td>
<td>
<a href="#">
miss
</a>
</td>
</tr>
<tr>
<td> h </td>
<td></td>
<td> miss </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
value
</a>
</td>
<td>
<a href="#">
value
</a>
</td>
</tr>
<tr>
<td> i </td>
<td></td>
<td> miss </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
miss
</a>
</td>
<td>
<a href="#">
miss
</a>
</td>
</tr>
<tr>
<td> j </td>
<td></td>
<td> miss </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
miss
</a>
</td>
<td>
<a href="#">
miss
</a>
</td>
</tr>
<tr>
<td rowspan="13">Title 2</td>
<td rowspan="13">Sub-title 2 </td>
<td> k </td>
<td></td>
<td> 10.5-12 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
11.420
</a>
</td>
<td></td>
</tr>
<tr>
<td> l </td>
<td> mgE/l </td>
<td></td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
0.000
</a>
</td>
<td></td>
</tr>
<tr>
<td>m</td>
<td> mmol/l </td>
<td> 0.04 </td>
<td>
<span>N/A</span>
</td>
<td></td>
<td>
<a href="#">
amp;<0.010
</a>
</td>
<td></td>
</tr>
</tbody>
</table>
Эта таблица может увеличиваться в столбцах и строках в зависимости от данных. При переносе в PDF разрыв страницы помещается между строками, но первая и вторая ячейки разделены между страницами, и их текст иногда перекрывается повторяющимся текстом. Похоже, что диапазон строк не учитывается при разбивке таблицы на страницы.
Я хочу избежать разрыва страницы между ячейками, не имеющими интервала строк.
Комментарии:
1. Может
tr { break-inside:avoid; }
быть, помогает2. Пробовал это, также пробовал
break-before:avoid;
все строки, кроме тех, которые содержат td с rowspan, но безуспешно.3.
tr, td, a, span { break-inside:avoid; }
??4. Спасибо за предложение, но нет, все равно ломается внутри первого td строки.
5. Возможно, это связано с количеством ячеек в строке… У первого
tr
есть 9td
, а у большинства других — 7.