我使用最新版本的mPDF来呈现发票。当我启动循环以在订单上显示产品时,文本通常会超出页面边界并延伸到下一页。问题是,它与下一页的标题重叠。
我想在所有页面上禁用标题,但第一页除外。或者,强制文本溢出遵守标题的边距规则。
例如,我可能会像这样开始循环:
$html .= '<div style="clear:both; margin:auto;"><table>';
foreach ($terms as $term) {
$html .= '<tr><td>'.$term.'</td></tr>';
}
$html .= '</table></div>';
如果HTML表必须继续到下一页,它只会写入标题。我如何告诉mPDF打破桌面?
答案 0 :(得分:0)
我用以下方法解决了这个问题:
$param = '"en-GB-x","A4","","",10,10,10,10,6,3';
$mpdf = new mPDF($param);
$html_header='<div>This is my header content</div>';
$mpdf->setAutoTopMargin='stretch';
$mpdf->setHTMLHeader($html_header);
$mpdf->WriteHTML($html,2);
$mpdf->Output($pdfFilePath, "D");
在添加标题之前调用setAutoTopMargin='strech'
为我解决了这个问题。
$param
只是默认从示例中被盗,我还没有读出每个值的含义。
答案 1 :(得分:0)
使用mpdf时我也面临这样的问题,我的救星是使用此CSS属性:
@media print {
#break-after {
page-break-after: always;
}
}
我在页面的最后一个div处插入了break-after id,而此文本在firt页面上将永远不会进入下一页。