PHP中的pdf生成无效

时间:2016-06-30 12:33:50

标签: php pdf

我使用fpdf生成pdf。但它没有用。

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdff = $pdf->output('tmp\tmp_file.pdf',"D");
header('Content-Type: application/pdf');
header('Content-Length: '.filesize($pdff));
header('Content-disposition: inline; filename="some_pdf_to_download.pdf"');
header('Cache-Control: public, must-revalidate, max-age=0');
header('Pragma: public'); 
header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
readfile('tmp\tmp_file.pdf');
echo $pdff;

这是我正在使用的代码。我得到输出“%PDF 3 .......”。

1 个答案:

答案 0 :(得分:0)

FPDF的“D”选项输出到浏览器,包括所需的所有标题以提供下载文件。

readfile输出服务器上指定位置的文件内容。

您希望echo $pdff;也可以输出PDF内容。

实际上,您尝试输出两次标题和PDF主体三次。

您的标题也令人困惑。您指定内联处置但包含要下载的文件名。

最简单的解决方案是将$pdff以后的所有内容替换为:

$pdf->Output('some_pdf_to_download.pdf', 'D');

如果您希望提示用户下载文件或

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

以内联方式呈现PDF。