【问题标题】:generate the pdf on newtab in dompdf在 dompdf 的 newtab 上生成 pdf
【发布时间】:2013-07-02 07:10:01
【问题描述】:

有没有办法将 dompdf 创建的 pdf 打开到新的浏览器选项卡? 我试过这些。 当我单击生成按钮(现在是提交按钮)时,控制器操作 下面给出

控制器:

function generatePdf()
{
  require_once("dompdf/dompdf_config.inc.php");
  $data="this is a sample pdf";
  $dompdf = new DOMPDF();
  $html = $this->load->view('report/modelpdfview', $data, true);
  $dompdf->load_html($html);
  $dompdf->render();
  $dompdf->stream("mypdffile.pdf",array('Attachment'=>0));
  $this->load->view('view/mysiteView', $data);
}

但它在同一位置打开,导致用户将失去对该站点的控制。 (我知道浏览器中有返回按钮)

【问题讨论】:

  • 为什么不在指向您的 pdf 的链接中添加 target="_blank"?
  • 目前我正在这样做。但它需要服务器空间来存储文件。我只想通过编程生成一个pdf文件并将其显示给浏览器(这也可以)。无需存储文件。

标签: php dompdf


【解决方案1】:

创建一个 PHP 脚本来创建您想要显示的 PDF 内容。如果合适,可以使用一些命令行参数来控制创建的内容,或者您​​可以将内容存储在会话变量中。我们就叫它makemypdf.php

在 Javascript 中,打开一个弹出窗口,其中包含 url:

window.open(makemypdf.php, "mypdfwindow","...other window specs");

新窗口将包含您的 PDF 文件,而您的现有页面仍处于打开状态。

你的问题在内容上有点轻,所以你必须自己填写一些机制。

在您的主页中:

session_start();
$_SESSION['pdfcontent'][0] = "First PDF content";
$_SESSION['pdfcontent'][1] = "Second PDF content";

你的开窗器变成:

window.open("makemypdf.php?pdfcontent=1", "mypdfwindow","...other window specs");

makemypdf.php

session_start();
$pdfcontent = $_SESSION['pdfcontent'][$_GET['pdfcontent'];
// render your PDF document here

【讨论】:

  • 对不起,我不明白你。如何在windows url中打开会话变量。你能举个例子吗?我还添加了更多内容。请看...
猜你喜欢
  • 2017-08-14
  • 2012-06-06
  • 2012-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
相关资源
最近更新 更多