mpdf - 第一页上的文本扩展到第二页,重叠标题

时间:2013-12-13 17:19:30

标签: php css pdf-generation mpdf

我使用最新版本的mPDF来呈现发票。当我启动循环以在订单上显示产品时,文本通常会超出页面边界并延伸到下一页。问题是,它与下一页的标题重叠。

我想在所有页面上禁用标题,但第一页除外。或者,强制文本溢出遵守标题的边距规则。

例如,我可能会像这样开始循环:

$html .= '<div style="clear:both; margin:auto;"><table>';
foreach ($terms as $term) {
    $html .= '<tr><td>'.$term.'</td></tr>';
}   
$html .= '</table></div>';

如果HTML表必须继续到下一页,它只会写入标题。我如何告诉mPDF打破桌面?

2 个答案:

答案 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只是默认从示例中被盗,我还没有读出每个值的含义。

来源:http://www.mpdfonline.com/repos/mpdfmanual.pdf(第107页)

答案 1 :(得分:0)

使用mpdf时我也面临这样的问题,我的救星是使用此CSS属性:

@media print {
#break-after {
    page-break-after: always;
     }
}

我在页面的最后一个div处插入了break-after id,而此文本在firt页面上将永远不会进入下一页。