【问题标题】:Create PDF and then Redirect创建 PDF,然后重定向
【发布时间】:2014-03-07 07:51:57
【问题描述】:

我正在使用以下代码创建 PDF

$pdf = new Pdf( $values );
$pdf->generate();
header('Content-Type', 'application/pdf');
header('Content-Disposition: attachment; filename="filename.pdf"');
header("Pragma: public");

此代码工作正常并生成 PDF,但现在我想将页面重定向到其他链接,例如

header("location:index.php");

但是当我最后添加这段代码时,它只会重定向到 index.php 而不会创建 PDF。

【问题讨论】:

  • 这是用什么代码写的? PHP?
  • 是的。正如我所看到的PHP。你想给pdf然后重定向,或者只是在后台创建pdf并重定向?
  • 好的,那你为什么要创建一个PDF,然后立即离开页面呢?你在这里的目标是什么?
  • 你到底想达到什么目的?
  • 我在“保存并创建 PDF”页面上有一个按钮,当用户按下此按钮时,它将保存页面并创建 pdf 并将用户重定向到主页(客户要求)

标签: php pdf redirect


【解决方案1】:

您在该页面上遇到的问题是当有人访问它时,已发送标头,然后是输出(下载附件),因此再次发送标头将失败。

您需要在之前的页面上执行此操作,例如“单击此处下载 PDF” - 使“单击”按钮重定向到打开下载 PDF 的弹出窗口的页面和父页面(不是弹出窗口),重定向那个。

示例:

当他们单击“下载”时,重定向到您编写的内容“index.php?download=true”,显然 $_GET["download"] 是您的触发器,因此作为您的 HTML 代码,制作一个弹出窗口到您的 PDF 的下载网址。

【讨论】:

  • 有没有办法设置标题目标。例如 header('Window-target: _blank);用于 pdf 和 header('Window-target:_parent) 用于重定向。
  • target="_blank" 在您的 HTML 中,而不是在 PHP 中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-13
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多