在 dompdf 的 newtab 上生成 pdf
Posted
技术标签:
【中文标题】在 dompdf 的 newtab 上生成 pdf【英文标题】:generate the pdf on newtab in dompdf 【发布时间】: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文件并将其显示给浏览器(这也可以)。无需存储文件。 【参考方案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中打开会话变量。你能举个例子吗?我还添加了更多内容。请看...以上是关于在 dompdf 的 newtab 上生成 pdf的主要内容,如果未能解决你的问题,请参考以下文章