我使用DOMPDF生成PDF文件,但我有一点问题 这是我的模板基本表:
<!DOCTYPE html>
<html lang="pl">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>PDF</title>
</head>
<body>
<table>
<tbody>
<tr>
<td>
<h4>List 1:</h4>
<ol>
@foreach ($listArray_1 as $inv)
<li>{{ $inv->firstname }} {{ $inv->middlename }} {{ $inv->lastname }}</li>
@endforeach
</ol>
</td>
<td>
<h4>List 2:</h4>
<ol>
@foreach ($listArray_2 as $inv)
<li>{{ $inv->firstname }} {{ $inv->middlename }} {{ $inv->lastname }}</li>
@endforeach
</ol>
</td>
<td>
<h4>List 3:</h4>
<ol>
@foreach ($listArray_3 as $inv)
<li>{{ $inv->firstname }} {{ $inv->middlename }} {{ $inv->lastname }}</li>
@endforeach
</ol>
</td>
<td>
<h4>List 4:</h4>
<ol>
@foreach ($listArray_4 as $inv)
<li>{{ $inv->firstname }} {{ $inv->middlename }} {{ $inv->lastname }}</li>
@endforeach
</ol>
</td>
</tr>
</tbody>
</table>
</body>
</html>
但如果某些<td>
大于页面高度,则会将2个第一页空白,并在第三页上呈现剪切内容(剪切到页面末尾)。
哪里有问题?在CSS或DOM PDF? (我不能使用wkhtmltopdf:/)
答案 0 :(得分:0)
使用其他库的可能解决方案: 我使用mPDF来完成这项任务。我可以想象这是mPDF内部的一个非常困难的过程,但设法得到一个好的pdf,使用可能会或可能不会跨越多个页面的多个表。一切顺利。
$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp']);
$mpdf->shrink_tables_to_fit = false;
$mpdf->WriteHTML( <<<HTML
<style>
table
{
page-break-inside: avoid;
}
</style>
<table>.... LONG table</table>
<table>.... another table</table>
<table>.... LONG table</table>
HTML
);
`