我正在研究一个PHP MVC应用程序,我在使用FPDF时遇到了一些麻烦。代码非常简单,但它不会下载PDF文件(也试图打开它,它不起作用)。我想我错过了一些东西,或者我需要从fpdf实例中禁用某些东西,但我无法解决问题。这是代码:
public function downloadPDF(){
require('../FPDF/fpdf.php');
$pdf = new FPDF();
$numero = cal_days_in_month(CAL_GREGORIAN,8,2003);
date_default_timezone_set("Atlantic/Canary");
setlocale(LC_ALL,"es_ES");
$pdf->SetFont("Arial","",14);
$pdf->AddPage();
$mifecha = gmmktime(0,0,0,2,1,2013);
$pdf->Cell(40,10,strtoupper(strftime("%B",$mifecha)),1);
$pdf->Ln();
$pdf->SetFont("Arial","",10);
$pdf->Cell(60,10,"By Ricky",0,1,"C");
$pdf->Output($pdf,"D");
}
以防万一:想法是使用此功能会自动下载PDF文件。例如,单击菜单中的“下载PDF”按钮时。
答案 0 :(得分:0)
这几乎是你的MVC中的header()问题:
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='downloaded.pdf'");
如果你正确设置了那些,你应该没事。
请记住,必须在任何输入之前调用header(),否则它将不起作用
答案 1 :(得分:0)
$pdf->Output($pdf,"D");
FPDF的输出函数接收两个字符串参数(名称,输出类型)。而不是给这个函数一个名称字符串,而是给它$ pdf对象。当我修复它时,它工作得很好,最终结果如下:
$pdf->Output("PDF name","I");
顺便说一下,感谢您的支持。