在codeigniter中使用html2pdf生成批量pdf

Ank*_*shi 5 php codeigniter html2pdf

我在codeigniter中使用HTML2PDF库.我正在尝试使用它生成批量pdf.

其中我面临的问题,如每个pdf或pdf相同的内容没有内容.我已经完成了我的作业.但是,总是显示完美的生成第一个pdf(帐号:3)

据我所知,必须有以下代码的问题:

    ob_start();
    require_once($template_config.'template.php'); // 
    $content = ob_get_contents();
    ob_clean();
Run Code Online (Sandbox Code Playgroud)

问题:它首次运行但第二次刷新内容变量的所有内容,并且由于重复的PDF或没有内容PDF生成.

我尝试过如下

1)在generatetemplate.php中创建对象并传递给common.php

2)尝试使用include_once //在每个pdf中获取相同的conent,如果我正在做回声,那么显示第2和第3个pdf没有内容

File structure : 
   application
      controllers
          generatetemplate.php
      libraries
          common.php
          html2pdf
              html2pdf.php
      template.php


common.php :

function print_content($customerdata){
    $this->load->library('/html2pdf/html2pdf');
    $template_config=$this->config->item('template');
    ob_start();
    require_once($template_config.'template.php'); // 
    $content = ob_get_contents();
    ob_clean();
    $content = str_replace("<CUSTOMER_ADDRESS>",$CUSTOMER_ADDRESS,$content);
    $this->CI->html2pdf->pdf->SetDisplayMode('fullpage');
    $this->CI->html2pdf->writeHTML($content);
    $this->CI->html2pdf->Output($download_path,"F");
 }

generatetemplate.php
     function __construct() {
       parent::__construct();
       $this->load->library("common");
       $this->load->library('html2pdf');
     }
     function get_customer_data(){
       $this->db->order_by("id","DESC");
       $this->db->where('id IN (1,2,3)');
       $query = $this->db->get("customers")->result_array();
       foreach($query as $key=>$accountdata){
         $this->common->print_content($accountdata);
       }
     }
Run Code Online (Sandbox Code Playgroud)

任何帮助和想法将不胜感激.

Ank*_*shi 0

我已经尝试过下面的代码及其对我的工作。

通用.php

function print_content($customerdata){
    $this->load->library('/html2pdf/html2pdf');
    $template_config=$this->config->item('template');
    ob_start();
    require_once($template_config.'template.php'); // 
    $content = ob_get_contents();
    ob_clean();
    $content = str_replace("<CUSTOMER_ADDRESS>",$CUSTOMER_ADDRESS,$content);
    $this->CI->html2pdf = new HTML2PDF('P','A4','en'); // Just added this line and its work for me.
    $this->CI->html2pdf->pdf->SetDisplayMode('fullpage');
    $this->CI->html2pdf->writeHTML($content);
    $this->CI->html2pdf->Output($download_path,"F");
 }
Run Code Online (Sandbox Code Playgroud)