Как создать PDF-файл в цикле в CakePHP? - PullRequest
1 голос
/ 21 февраля 2012

Я реализовал создание PDF,

http://bakery.cakephp.org/articles/kalileo/2010/06/08/creating-pdf-files-with-cakephp-and-tcpdf

но по моей логике есть ссылка «printAll», затем в цикле я должен сгенерировать счет-фактуру pdf много раз. Так возможно ли создать несколько файлов PDF в одной функции, используя цикл?

до сих пор я помещал логику в файл ctp и записывал логику в цикл foreach, но все же генерируется только первая запись в формате pdf.

как я могу это сделать? Есть ли другой способ сделать это?

так что, пожалуйста, кто-нибудь может мне помочь ??

Заранее спасибо ..

в generate_invoice.ctp


<?php
     App::import('Vendor','xtcpdf'); 
     $tcpdf = new XTCPDF();
     $textfont = 'freesans'; 
     $tcpdf->SetAutoPageBreak( false );
     $tcpdf->xheadercolor = array(255,255,255);
     $tcpdf->AddPage();
     $tcpdf->SetTextColor(0, 0, 0);
     $tcpdf->SetFont($textfont,'',10);
     $total_records = 0;
     foreach($POdata as $order)
 {
         $po = $order['Orderproduct']['id'];
            $total_records = $total_records + 1;
 }
     if($total_records == 1)
     {  
     $html = <<<EOD
         $po; //and other html 
         EOD;
        $tcpdf->writeHTMLCell(0, 0, '', '', $html,'', 1, 0, true, '', true);
        echo $tcpdf->Output('filename.pdf', 'D');                                                   
    }
    else if($total_records > 1) 
    {
        foreach($POdata as $order)
        {   
                $po = $order['Orderproduct']['id'];
            $total_records = $total_records + 1;
            $html = <<<EOD
                   $po; //and other html 
            EOD;
            $tcpdf->writeHTMLCell(0, 0, '', '', $html,'', 1, 0, true, '', true);
           $filename = "PO".$poid.".pdf";
    echo $tcpdf->Output($filename, 'D');
            }
     }

и данные из файла контроллера для просмотра файла правильно попадают в $ POdata. новенький, пожалуйста, помогите мне.

1 Ответ

0 голосов
/ 21 февраля 2012

да, мы можем сделать это

использовать foreach () для повторителей объектов и на основе этих данных генерировать PDF и сохранять в каком-то месте, и вы можете создать массив путей отображения каждого файла

передать этот массив объекту представления, и вы можете использовать его в файле представления, который также можно установить как ссылку для скачивания

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...