0

有什么方法可以将 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);
}

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

4

1 回答 1

0

创建一个 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
于 2013-07-02T07:22:37.227 回答