我正在使用mPDF库将报告(以html格式)转换为pdf,但是将所有页面合并为一个。我希望在确定之后添加分页符,但我没有成功。
HTML
<div class='text my_form' style='margin:0px 0 0 0; padding:0px 0 0 0; border-style:dotted; border-color:white;'>
我将此作为$ html
传递给phpPHP
require_once ("./libraries/MPDF57/mpdf.php");
$mpdf=new mPDF("", "Letter", "", "", 10, 10);
我想在找到上面显示的div后添加分页符
preg_match_all("/((\<div\s)(class='text\smy_form'[\s\w\s]*border-color:white)(.+?)(\>)/", $html, $matches, PREG_SET_ORDER);
foreach($matches as $value) {
$html= $mpdf->AddPage();
}
$mpdf->WriteHTML($html);
$filename = "documentx.pdf";
$mpdf->Output($fileName, 'F');
但是,不起作用,请帮助我走完正确的轨道:)
答案 0 :(得分:15)
我在关闭foreach标记之前使用此代码:$html .= "<pagebreak />";
foreach($matches as $value) {
$html .= "<pagebreak />";
}
答案 1 :(得分:6)
我在不使用AddPage的情况下取得了成功,而是使用css添加分页符,page-break-after:always
和最后一个div page-break-after:avoid
。也许这样的事情会起作用:
$len = count($matches);
$i = 1;
foreach($matches as $value) {
if ($i < $len) {
$html .= "<div style='page-break-after:always'>" . $html . "</div>";
} else {
$html .= "<div style='page-break-after:avoid'>" . $html . "</div>";
}
$i++;
}
$mpdf->WriteHTML($html);