编程语言
首页 > 编程语言> > php – DOMPDF,我不能创建两个pdf

php – DOMPDF,我不能创建两个pdf

作者:互联网

当我尝试一次创建两个pdf时,它会抛出错误……

Fatal error: Uncaught exception ‘DOMPDF_Exception’ with message ‘No
block-level parent found. Not good.’ in
C:\wamp\www\si2i\application\libraries\dompdf\include\inline_positioner.cls.php
on line 38 ( ! ) DOMPDF_Exception: No block-level parent found. Not
good. in
C:\wamp\www\si2i\application\libraries\dompdf\include\inline_positioner.cls.php
on line 38

这是代码:

$this->load->library('pdf');
                    $this->pdf->set_base_path($data['path']);
                    $this->pdf->load_view('adm/invoice/si2i',$data);
                    $this->pdf->render();
                    $output = $this->pdf->output();
                    file_put_contents("uploads/invoice/invoice_".$invoice_file_name.".pdf", $output);

$this->load->library('pdf');
                    $this->pdf->set_base_path($data['path']);
                    $this->pdf->load_view('adm/invoice/si2i',$data);
                    $this->pdf->render();
                    $output = $this->pdf->output();
                    file_put_contents("uploads/invoice/invoice_".$invoice_file_name.".pdf", $output);

请帮帮我..

提前致谢…

解决方法:

我刚遇到同样的问题.解决方案是codeigniter pdf库$this-> load-> library(‘pdf’);创建一个每次调用的单个DOMPDF实例,但是该类本身不能正常清理,因此如果需要生成多个pdf,则会崩溃.

解决方案是根据需要手动实例化DOMPDF类.不要使用codeigniter pdf包装器.

//require at the top of our script
require_once(APPPATH .'libraries/dompdf/dompdf_config.inc.php');

//get the html first (base dompdf cant do the combined load/render)
$view = $this->load->view("viewname", $viewData, true);
//create a new dompdf instance (this is the crucial step)
$this->pdf = new DOMPDF();
//render and output our pdf
$this->pdf->load_html($view);
$this->pdf->render();
$pdf = $this->pdf->output(array("compress" => 0));
file_put_contents("some/file/path.pdf", $pdf );

标签:php,dompdf,pdf-generation
来源: https://codeday.me/bug/20191003/1849646.html