【问题标题】:How to clear contents after generating a PDF file?生成PDF文件后如何清除内容?
【发布时间】:2018-08-31 10:42:46
【问题描述】:

我在这里有一个场景。

我有一个存储注册证书的网络应用程序(用 CodeIgniter 编码)。我所做的是从数据库中加载我的数据,然后使用 foreach 循环进行循环,然后获取每一行的内容,然后将数据传递给我的视图。然后我使用 dompdf 库生成 PDF 证书,每个存储在其文件夹/目录中,名称与行的 id 相同。

问题是,当循环完成时,目录创建正确,但证书中的内容具有相同的数据,即同一行的数据。

我已附上我的代码,请帮助我在哪里出错以及为什么所有内容都有相同的数据。

foreach ($business_info as $value) {

     ob_start();

       $business_id = $value->business_id;

         $data['businessowners'] = $this->this_business->this_businessowners($business_id);
         $data['certificate_data'] = $this->this_business->this_print_certificate($business_id);
         $data['account_owners'] = $this->this_business->this_accountowners($business_id);
         $data['is_all_partners'] = $this->db->query("select * from check_bank_operator($business_id)")->row();


         $html=$this->load->view('certificate', $data,true);

        //$folder = FCPATH . 'mfumo/data/certificates/'.$business_id;


         $folder = FCPATH . 'mfumo/data/docs/business/'.$business_id;
         if (!is_dir($folder))                             
         {
           mkdir($folder,0777, TRUE);
         }

        $save_path = 'mfumo/data/docs/business/'.$business_id .'/'.$business_id.'_cert.pdf';
        $system_root_file = FCPATH . $save_path;
        $this->load->helper('dompdf/pdf');
        $dompdf = new DOMPDF();
        $dompdf->load_html($html);
        $dompdf->set_paper('A4', 'portrait');
        $dompdf->render();
        $dompdf->get_canvas()->get_cpdf()->setEncryption('', 'n.*7&4%i:[}', array('print'));
        $output = $dompdf->output();
        $data = file_put_contents($system_root_file, $output);
        ob_clean()



 }

【问题讨论】:

  • 什么是this_business
  • 每个$value 都需要创建新的PDF ??
  • this_business 是带有 mysql 查询的模型
  • 这就是我正在做的事情
  • 我正在循环,对于每个 $value 我正在创建一个 PDF,但是对于所有生成的 PDF,它们包含第一个 $value 值的信息

标签: php mysql codeigniter dompdf


【解决方案1】:

foreach ($business_info as $value) {

   $business_id = $value->business_id;

     $data['businessowners'] = $this->this_business->this_businessowners($business_id);
     $data['certificate_data'] = $this->this_business->this_print_certificate($business_id);
     $data['account_owners'] = $this->this_business->this_accountowners($business_id);
     $data['is_all_partners'] = $this->db->query("select * from check_bank_operator($business_id)")->row();


     $html=$this->load->view('certificate', $data,true);

    //$folder = FCPATH . 'mfumo/data/certificates/'.$business_id;


     $folder = FCPATH . 'mfumo/data/docs/business/'.$business_id;
     if (!is_dir($folder))                             
     {
       mkdir($folder,0777, TRUE);
     }

    $save_path = 'mfumo/data/docs/business/'.$business_id .'/'.$business_id.'_cert.pdf';
    $system_root_file = FCPATH . $save_path;
    $this->load->helper('dompdf/pdf');
    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper('A4', 'portrait');
    $dompdf->render();
    $dompdf->get_canvas()->get_cpdf()->setEncryption('', 'n.*7&4%i:[}', array('print'));
    $output = $dompdf->output();
    $data = file_put_contents($system_root_file, $output);
    unset($dompdf);
    unset($data);

}

【讨论】:

    猜你喜欢
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    相关资源
    最近更新 更多