无法从PHP函数下载PDF(FPDF)

时间:2015-03-04 11:01:20

标签: php pdf fpdf

我正在研究一个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”按钮时。

2 个答案:

答案 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");

顺便说一下,感谢您的支持。