在 codeigniter 中使用 html2pdf 批量生成 pdf
bulk pdf generation with html2pdf in codeigniter
我在 codeigniter.I 中使用 HTML2PDF 库,我正在尝试使用它生成批量 pdf。
其中我面临的问题是每个 pdf 中都有相同的内容或 pdf 没有 content.I 已经完成了我的 homework.Yeah 但总是显示完美生成的第一个 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_once //在每个 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);
}
}
任何帮助和想法将不胜感激。
我已经尝试了以下代码及其对我的工作。
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");
}
我在 codeigniter.I 中使用 HTML2PDF 库,我正在尝试使用它生成批量 pdf。
其中我面临的问题是每个 pdf 中都有相同的内容或 pdf 没有 content.I 已经完成了我的 homework.Yeah 但总是显示完美生成的第一个 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_once //在每个 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);
}
}
任何帮助和想法将不胜感激。
我已经尝试了以下代码及其对我的工作。
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");
}