当我尝试一次创建两个pdf时,它会抛出错误。。。
致命错误:未捕获异常"DOMPDF_exception",消息为"No"找到块级父级。不好。"在里面C: ''wamp''www''si2i''application''libraries''dompdf''include''inline_position.cls.php在第38行(!)DOMPDF_Exception:找不到块级父级。不好的在里面C: ''wamp''www''si2i''application''libraries''dompdf''include''inline_position.cls.php在线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);
请帮帮我。。
提前感谢。。。
我刚刚遇到了同样的问题。解决方案是,代码点火器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 );
当我试图在循环中生成pdf时,CodeIgniter3遇到了这个问题。该问题是由于多次加载pdf库而没有清除现有实例。为了避免这种情况,我每次都创建了新的PDF实例。
require_once APPPATH.'third_party/dompdf/autoload.inc.php';
use Dompdf'Dompdf;
class Index extends CI_Controller {
public function gencert() {
$nurseids = $this->nurse_model->getNurseIdsForCert();
foreach($nurseids as $nid){
//print_r($nid);
$this->nursecertificate($nid->nurseid);
}
}
private function nursecertificate($nurseid){
// Load pdf library
//$this->load->library('pdf');
$this->pdf = new DOMPDF();
// Load HTML content
$this->pdf->loadHtml($html, []);
...