我正在为我的管理员生成一些报告,并使用MPDF library导出为PDF。但是当它有大量数据时,MPDF正在调整表的大小以适应页面,因此它变得很笨拙。
有没有办法防止这种情况发生?我用来生成的代码如下。我试图将“shrink_tables_to_fit”设置为0和1,两者都不成功。还尝试将autosize = 1设置为每个表。
$stylesheet = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/site/css/layout/pdf.css');
$bootstrap = file_get_contents('https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css');
$mpdf = new mPDF('pt', 'a4');
$mpdf->shrink_tables_to_fit = 1;
$mpdf->setAutoTopMargin = 'stretch';
$mpdf->setAutoBottomMargin = 'stretch';
$mpdf->SetHTMLHeader('<img src="'.$_SERVER['DOCUMENT_ROOT'].'/site/img/content/pdf/header.jpg">');
$mpdf->SetFooter('{DATE j/m/Y H:i}|{PAGENO}/{nb}');
$mpdf->WriteHTML($bootstrap, 1);
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($html);
$mpdf->Output($_SERVER['DOCUMENT_ROOT'].'/upload/consultas-pre/'.$nomeArquivo.'.pdf', 'F');
答案 0 :(得分:1)
您可以将整个表拆分为不同的表,并在每个表的末尾添加:
<div style="page-break-after: always;"> </div>
这将创建一个分页符。
示例:
<?php $rows=1; foreach($allData as $data){ ?>
<table>
<tr>
<td>Your table data</td>
</tr>
</table>
<?php if($row == 10) { ?>
<div style="page-break-after: always;"> </div>
<?php } ?>
<?php } ?>
您可以阅读有关mpdf分页符here
的更多信息答案 1 :(得分:0)
Try this in the table opening tag:
<table autosize="1">
答案 2 :(得分:0)
我找到了。
我里面没有其他桌子的桌子。发生这种情况时,MPDF会在调整大小时丢失。