【发布时间】:2021-03-17 11:16:49
【问题描述】:
我正在使用 mpdf lib 生成多个文件,我不想单独生成所有文件,我想在一个分页分隔的 pdf 中生成文件。
我添加了 addpage 方法来生成单个文件,但有一个问题,我的第一页按预期打印,但第二页是空白的。我知道我需要取消设置 dom,因为这个库可以为多个文件生成新实例。
然后我决定取消设置循环中的 dom,当我的循环迭代完成时,它说 $mpdf var 不存在。有没有其他方法可以取消设置 dom 以在单个文件上生成多个页面?
如果我在文件末尾添加未设置,则只有第一页可以成功,但第二页留空。
for ($i=1; $i<count($sheetData); $i++) {
$mpdf = new \Mpdf\Mpdf(['mode' => 'utf-8', 'format' => [290, 236]]);
$stylesheet = file_get_contents('style.css');
$mpdf->WriteHTML($stylesheet, \Mpdf\HTMLParserMode::HEADER_CSS);
$html = $mpdf->WriteHTML('Hello World');
$filename = $key.''.time().'.pdf';
$targetPath = 'challans/Multiple/'.$dirName.'/';
$mpdf->AddPage();
}
$mpdf->Output($targetPath.$filename, 'F');
unset($mpdf);
【问题讨论】:
-
如果您只想将新的 HTML 写入下一页,为什么在每次迭代中都创建新的 Mpdf 实例?
-
你解决了我的问题,我把它放在循环之外,它就像一个魅力。谢谢老哥
标签: php loops mpdf multiple-processes