我使用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 .......”。
答案 0 :(得分:0)
FPDF的“D”选项输出到浏览器,包括所需的所有标题以提供下载文件。
readfile
输出服务器上指定位置的文件内容。
您希望echo $pdff;
也可以输出PDF内容。
实际上,您尝试输出两次标题和PDF主体三次。
您的标题也令人困惑。您指定内联处置但包含要下载的文件名。
最简单的解决方案是将$pdff
以后的所有内容替换为:
$pdf->Output('some_pdf_to_download.pdf', 'D');
如果您希望提示用户下载文件或
$pdf->Output('', 'I');
以内联方式呈现PDF。