PDF不会在codeigniter中生成并显示为空白

时间:2015-06-23 06:10:01

标签: php codeigniter pdf

我在codeigniter工作。我已经下载了TCPDF来创建pdf。我已经按照所有步骤在codeigniter中生成pdf。

我的控制器是:

function list_branch_report()
{
    if($this->input->post('submit'))
    {
        $this->load->library('Pdf');
        $pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
        $pdf->SetTitle('Pdf Example');
        $pdf->SetHeaderMargin(30);
        $pdf->SetTopMargin(20);
        $pdf->setFooterMargin(20);
        $pdf->SetAutoPageBreak(true);
        $pdf->SetAuthor('Author');
        $pdf->SetDisplayMode('real', 'default');
        $pdf->Write(5, 'CodeIgniter TCPDF Integration');
        $pdf->AddPage();
        $pdf->Output('pdfexample.pdf', 'I');            

        $branch_id = $this->input->post('br_name');
        $branch_code = $this->input->post('branch_code');

        $query1 = $this->db->query("select * from branch_bal where branch_id = '$branch_id'");
        $result1 = $query1->result();           

        $query2 = $this->db->query("select * from cash_depo where bid = '$branch_id'");
        $result2 = $query2->result();




        $this->load->view("admin/list_branch_report",array('br_result'=>$result1,'cash_result'=>$result2,'b_code'=>$branch_code));

    }

我的观看页面是:

  <div style="float:left;width:100%">
     <center><h1> Branch Report </h1></center>
  </div>

当我尝试生成pdf时,它将显示空白。

3 个答案:

答案 0 :(得分:1)

你在哪里写HTML到PDF我没有在tcpdf上工作但是就我所知的mpdf经验而言 应该有像

这样的功能
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

请参阅tcpdf文档以获取writeHTML()或writeHTMLCell()函数

http://www.tcpdf.org/doc/code/classTCPDF.html

或参考示例

http://www.tcpdf.org/examples.php

您必须将codeigniter视图分配给变量,以便将最后一个属性设为true

$html= $this->load->view("admin/list_branch_report",array('br_result'=>$result1,'cash_result'=>$result2,'b_code'=>$branch_code),true);

然后将其分配给

$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

答案 1 :(得分:0)

我在加载视图页面之前写了 ob_start(); 。然后我写了

$html = $this->load->view("admin/list_branch_report",array('br_result'=>$result1,'cash_result'=>$result2,'b_code'=>$branch_code),true);
$pdf->writeHTML($html, true, false, true, false, '');
 ob_clean();
 $pdf->Output();

此代码。 所以它很完美。

感谢所有人。

答案 2 :(得分:0)

使用mpdf而不是tpdf并发送要以pdf格式转换的html。