使用 mpdf 时需要设置 HTTP Header 吗?

Posted

技术标签:

【中文标题】使用 mpdf 时需要设置 HTTP Header 吗?【英文标题】:Do we need to set HTTP Header when using mpdf? 【发布时间】:2019-08-19 19:16:33 【问题描述】:

我正在使用 mpdf 使用 php 生成 pdf 文件。我成功地将 pdf 输出为内联浏览器以及使用 mpdf 选项强制下载。

我的问题是我们需要发送任何 HTTP 标头信息吗?或 mpdf 自动处理该部分?我问这个是因为某些浏览器可能需要某种标题信息才能使 pdf 文件正常工作。

请注意,我们只询问与 PDF 文件相关的标题。

例如

header("Content-type: application/pdf");

header("Content-Description: PHP Generated Data");

header("Content-Transfer-Encoding: binary");

header('Content-Length:' . filesize($file));

谢谢

【问题讨论】:

您说您已经取得了成功,那么您的问题到底是什么?如果可行,为什么您认为您可能需要其他/更多标头? 我已经提到我问这个是因为某些浏览器可能需要某种标题信息才能使 pdf 文件正常工作。我在 *** 上看到了许多示例代码,其中用户传递标头信息,但 mpdf 中不需要。 【参考方案1】:

使用DESTINATION::INLINEDESTINATION::DOWNLOAD 选项时,mPDF 会自动处理适当的标题。 You can see the exact headers that are set in the code.

如果需要,可以随意设置额外的自定义标题,但正确查看/下载生成的 PDF 文档不需要它。

【讨论】:

以上是关于使用 mpdf 时需要设置 HTTP Header 吗?的主要内容,如果未能解决你的问题,请参考以下文章

mPDF 仅在启用 progressBar 时“完成”

在使用 mpdf 库生成的 pdf 中添加分页符

Mpdf:仅为第 1 页设置 0 页边距

如何在 mPDF 中设置自定义页面大小? Mpdf版本7

使用 MPDF 发送 PDF 电子邮件

mPDF 不在新页面上添加页眉/页脚