在div上的某个类与mpdf匹配后添加分页符

use*_*297 6 php mpdf

我正在使用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;'>
Run Code Online (Sandbox Code Playgroud)

我将这个传递给PHP为$ html

PHP

 require_once ("./libraries/MPDF57/mpdf.php");

    $mpdf=new mPDF("", "Letter", "", "", 10, 10);
Run Code Online (Sandbox Code Playgroud)

我想在找到上面显示的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');
Run Code Online (Sandbox Code Playgroud)

但是,不工作,请帮我通过正确的轨道:)

小智 16

我在关闭foreach标记之前使用此代码: $html .= "&lt;pagebreak /&gt;";

foreach($matches as $value) {
   $html .= "<pagebreak />";
 }
Run Code Online (Sandbox Code Playgroud)


moz*_*ras 7

我没有使用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);
Run Code Online (Sandbox Code Playgroud)