在CodeIgniter中使用单个for循环生成多个PDF文件

时间:2014-10-09 16:05:21

标签: php codeigniter pdf mpdf

我在CodeIgniter中使用mpdf库来生成PDF文件。

我希望从单个for循环生成4个文件。但它只生成一个文件。

以下是代码

$dataArr = $notificationReports['data'];
        $chunkReport = count($dataArr);

        if($chunkReport > 1000){
            $chunkSize = ($chunkReport / 4);
            $chunks = array_chunk($dataArr,$chunkSize);
            for($i = 0; $i <= 3; $i++){

                $this->load->library('mpdf56/mpdf');
                $paper='A4';
                $notificationReports['data'] = $chunks[$i];
                $notificationReports['heading'] = array(
                                    'S. NO',
                                    'SENT DATE',
                                    'SENT BY',
                                    'SENT TO',
                                    'MESSAGE',
                                    'SMS'
                                );


                $mpdf=new mPDF('utf-8',$paper,'','','','','',10,'',3,'L');
                $html = $this->load->view('reports/pdf_view_report',$notificationReports,true);
                $mpdf->WriteHTML($html);
                $mpdf->Output($title.".pdf",'D');
                unset($mpdf);
                unset($notificationReports);
                unset($html);

即使我已经删除了这些未设置的方法,而且不仅如此,我通过对代码应用注释来打印此数据。循环内的数据很好,但只生成多个文件。它只生成单个文件。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

你试过这个:

$mpdf->Output($title.$i.".pdf",'D');

而不是

$mpdf->Output($title.".pdf",'D');

答案 1 :(得分:0)

我也在做类似的事情,

我改变了

$mpdf->Output($title.".pdf",'D');

TO

$mpdf->Output('c:/pdf/'.$title.".pdf",'F');

此创建文件位于指定的位置