CakePHP控制器将图像保存为pdf

时间:2013-05-16 18:52:35

标签: php cakephp pdf tcpdf

我有一个CakePHP控制器,它通过首先将其转换为图像来获取URL并将其转换为PDF。 PDF是通过TCPDF正确生成的,但它只显示它。如何将PDF文件保存在服务器上而不是仅显示它?

<?php
App::import('Vendor', 'TestPdf.tcpdf', array('file'=>'tcpdf'.DS.'tcpdf.php'));

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->SetMargins(0, 0, 0);
$pdf->SetAutoPageBreak(false);
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

foreach($pages as $page)
{
    $pdf->AddPage();
    $pdf->setJPEGQuality("100");
    $pdf->Image($page, 0, 0, 210, 0, 'PNG', '', '', false, 300);
}


$pdf->Output('example_001.pdf', 'I');

2 个答案:

答案 0 :(得分:3)

根据documentation,“我”选项告诉TCPDF::Output()将PDF输出发送到客户端。要存储在服务器端,请使用“F”。

$pdf->Output('example_001.pdf', 'F');

答案 1 :(得分:0)

有一个CakePHP插件可以实现您想要的功能,它支持多个PDF引擎:

  • DOMPDF
  • MPDF
  • TCPDF
  • Wkhtmltopdf(需要额外安装)RECOMMENDED ENGINE

它也可以保存为文件或流作为下载。

插件可以在这里找到:

https://github.com/ceeram/CakePdf

请参阅“使用情况”下的第2点。