Php 在codeigniter中使用html2pdf生成批量pdf

Php 在codeigniter中使用html2pdf生成批量pdf,php,codeigniter,html2pdf,Php,Codeigniter,Html2pdf,我正在codeigniter中使用HTML2PDF库。我正在尝试使用它生成批量pdf 我面临的问题是,每个pdf中都有相同的内容,或者pdf中没有内容。我已经做了家庭作业。是的,但对于生成的第一个pdf,总是有完美的显示(帐户:3) 根据我的说法,必须发布以下代码: ob_start(); require_once($template_config.'template.php'); // $content = ob_get_contents(); ob_clea

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

我面临的问题是,每个pdf中都有相同的内容,或者pdf中没有内容。我已经做了家庭作业。是的,但对于生成的第一个pdf,总是有完美的显示(帐户:3)

根据我的说法,必须发布以下代码:

    ob_start();
    require_once($template_config.'template.php'); // 
    $content = ob_get_contents();
    ob_clean();
问题:它第一次工作,但第二次刷新内容变量的所有内容,由于重复的PDF或没有内容的PDF生成

我试过下面的方法

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

2) 尝试过一次include_//在每个pdf中获得相同的内容,如果我使用echo,则在第二个和第三个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);
       }
     }
文件结构:
应用
控制器
generatetemplate.php
图书馆
common.php
html2pdf
html2pdf.php
template.php
common.php:
功能打印内容($customerdata){
$this->load->library('/html2pdf/html2pdf');
$template_config=$this->config->item('template');
ob_start();
需要一次($template_config.template.php');//
$content=ob_get_contents();
ob_clean();
$content=str_replace(“,$CUSTOMER_ADDRESS,$content”);
$this->CI->html2pdf->pdf->SetDisplayMode('fullpage');
$this->CI->html2pdf->writeHTML($content);
$this->CI->html2pdf->Output($download_path,“F”);
}
generatetemplate.php
函数_u构造(){
父项::_构造();
$this->load->library(“通用”);
$this->load->library('html2pdf');
}
函数get_customer_data(){
$this->db->order_by(“id”,“DESC”);
$this->db->where('id IN(1,2,3)');
$query=$this->db->get(“客户”)->result_array();
foreach($key=>$accountdata的查询){
$this->common->print_内容($accountdata);
}
}

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

我已经尝试了下面的代码及其为我所做的工作

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 = 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");
 }
功能打印内容($customerdata){
$this->load->library('/html2pdf/html2pdf');
$template_config=$this->config->item('template');
ob_start();
需要一次($template_config.template.php');//
$content=ob_get_contents();
ob_clean();
$content=str_replace(“,$CUSTOMER_ADDRESS,$content”);
$this->CI->html2pdf=newhtml2pdf('P','A4','en');//刚刚为我添加了这一行及其工作。
$this->CI->html2pdf->pdf->SetDisplayMode('fullpage');
$this->CI->html2pdf->writeHTML($content);
$this->CI->html2pdf->Output($download_path,“F”);
}

看起来,也许,您正在加载
html2pdf
库两次(即在
generatetemplate.php
common.php
)?看看@safinchacko是的,我已经尝试过了,但不起作用我已经在上面的代码中添加了一行,现在它对我起作用了。让我把答案贴在这里