Php 在codeigniter中使用html2pdf生成批量pdf
我正在codeigniter中使用HTML2PDF库。我正在尝试使用它生成批量pdf 我面临的问题是,每个pdf中都有相同的内容,或者pdf中没有内容。我已经做了家庭作业。是的,但对于生成的第一个pdf,总是有完美的显示(帐户:3) 根据我的说法,必须发布以下代码: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
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是的,我已经尝试过了,但不起作用我已经在上面的代码中添加了一行,现在它对我起作用了。让我把答案贴在这里