我有一个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');
答案 0 :(得分:3)
根据documentation,“我”选项告诉TCPDF::Output()
将PDF输出发送到客户端。要存储在服务器端,请使用“F”。
$pdf->Output('example_001.pdf', 'F');
答案 1 :(得分:0)
有一个CakePHP插件可以实现您想要的功能,它支持多个PDF引擎:
它也可以保存为文件或流作为下载。
插件可以在这里找到:
https://github.com/ceeram/CakePdf
请参阅“使用情况”下的第2点。