2016-08-24 12 views
5

Używam biblioteki HTML2PDF w codeigniter. Próbuję generować masowe pdf za jego pomocą.masowe generowanie pdf z html2pdf w codeigniter

W którym jestem w obliczu problemu jak samej treści w każdym formacie PDF lub PDF nie mają content.I już nie moje homework.Yeah ale zawsze pokazując idealne dla pierwszego wygenerowanego pliku PDF (konto: 3)

jak na mnie nie musi być problem z poniższym kodzie:

ob_start(); 
    require_once($template_config.'template.php'); // 
    $content = ob_get_contents(); 
    ob_clean(); 

problem: to działa po raz pierwszy, ale po raz drugi go opróżnić całą zawartość zmiennej zawartości oraz z powodu tego duplikatu PDF lub bez zawartości PDF generować.

Próbowałem jak poniżej

1) utworzyć obiekt w generatetemplate.php i przekazać do common.php

2) Próbowałem z include_once // coraz samą conent w każdym pdf i jeśli robię echo następnie nie wyświetla żadnych treści dla 2. i 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); 
     } 
    } 

Każda pomoc i pomysły zostaną docenione.

+0

Wydaje się, być może, ładujesz 'bibliotekę html2pdf' dwukrotnie (czyli w' generatetemplate.php' aw 'common.php')? – Tpojka

+0

hav wygląd w http://stackoverflow.com/questions/32225465/multiple-pdf-files-with-html2pdf –

+0

@safinchacko tak próbowałem, że już, ale nie działa –

Odpowiedz

0

Próbowałem poniżej kod i jego pracy dla mnie.

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"); 
}