【发布时间】:2013-07-29 08:41:08
【问题描述】:
我正在使用 FPDF 库和 PHP 生成 PDF 文件。 PDF 文件生成并完美显示在浏览器中。
但是,我不想在浏览器中显示它,而是要强制保存选项而不是显示它。
【问题讨论】:
-
@PiLHA,这些 SO 链接是针对服务器未正确显示脚本的问题,他想强制下载文件而不是让浏览器插件显示它。
我正在使用 FPDF 库和 PHP 生成 PDF 文件。 PDF 文件生成并完美显示在浏览器中。
但是,我不想在浏览器中显示它,而是要强制保存选项而不是显示它。
【问题讨论】:
FPDF 内置下载功能,使用D 参数:
// At the end of your PDF generation code:
$pdf->Output('file.pdf', 'D');
【讨论】:
$pdf->Output('file.pdf', 'D'); file.pdf 是用户下载文件时的调用方式。
为此,您需要发送适当的内容标头:
<?php
header('Content-Type: application/pdf');
header('Content-disposition: attachment;filename=MyFile.pdf');
readfile('MyFile.pdf');
要实现这一点,只需让用户的浏览器打开具有上述标题的页面,其中 MyFile.pdf 指的是您的 pdf 文件的位置(您可以使用 cookie、会话、表单提交或其他任何方式来确定该文件的位置)。在本例中,我省略了结束 ?> 标记;这可能是也可能不是必要的。
【讨论】:
是的,您也可以使用 .htaccess 来执行此操作。
只需添加以下行:
AddType application/octet-stream .pdf
【讨论】: