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)
任何帮助和想法将不胜感激.
我已经尝试过下面的代码及其对我的工作。
通用.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)