Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在cakephp中创建循环中的pdf文件?_Cakephp - Fatal编程技术网

如何在cakephp中创建循环中的pdf文件?

如何在cakephp中创建循环中的pdf文件?,cakephp,Cakephp,我已经实现了pdf创建 但按照我的逻辑, 有一个链接“printAll”,然后在循环中,我必须多次生成发票pdf。 那么,是否可以使用循环在一个函数中创建多个pdf文件 到目前为止,我已经将逻辑放入ctp文件,并在foreach循环中写入逻辑,但仍然只生成first记录的pdf 我该怎么做?还有别的办法吗 所以请任何人都能帮助我 提前谢谢 在generate_invoice.ctp中 是的,我们能做到 使用foreach()重复对象,并基于该数据生成PDF并存储在某个位置,您可以创建每个文件

我已经实现了pdf创建

但按照我的逻辑, 有一个链接“printAll”,然后在循环中,我必须多次生成发票pdf。 那么,是否可以使用循环在一个函数中创建多个pdf文件

到目前为止,我已经将逻辑放入ctp文件,并在foreach循环中写入逻辑,但仍然只生成first记录的pdf

我该怎么做?还有别的办法吗

所以请任何人都能帮助我

提前谢谢

在generate_invoice.ctp中


是的,我们能做到

使用foreach()重复对象,并基于该数据生成PDF并存储在某个位置,您可以创建每个文件显示路径的数组

将此数组传递给视图的对象,您可以在视图文件中使用该数组,也可以将其设置为下载链接


谢谢

只需剪切我代码的前8行,然后粘贴到'if'和'else'块中,'$html'语句上方,就完成了。。。。。。
<?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');
            }
     }