在新选项卡中打开FPDF

时间:2014-11-10 05:14:56

标签: fpdf

我从帖子表格中生成了pdf(fpdf)。我希望pdf在新的选项卡和/或窗口中打开,提示用户保存pdf。我猜我需要将输出保存为字符串

$data=$pdf->Output("OfficeForm.pdf", "S");

但我究竟能用这个字符串做什么来让它在新窗口中打开。我试过这样的事情,但是没有用。我是在正确的轨道上还是在窗口。打开不是我需要的东西?

echo "<script type=\"text/javascript\">      
window.open('$data', '_blank')    
</script>";

4 个答案:

答案 0 :(得分:1)

如果您使用表单,可以通过在-tag中指定target ='_ blank'来实现(在您应该提交的地方='某事'旁边)

示例:

这将在提交时打开一个新的Tab(显示“makepdf.php”生成的内容)。

希望它能正确回答问题

答案 1 :(得分:0)

尝试$pdf->Output("OfficeForm.pdf", "I");

答案 2 :(得分:0)

我只是添加了target =&#34; _blank&#34;到我的表单开始标记并使用$ _SESSION [];将表单传递给FPDF代码:

<?php session_start(); ?>

<form id ="buildPDFform" name="buildPDFform"  target="_blank" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">

...some code for my form

<input type="submit" name="buildPDf" id="buildPDf" class="buildPDFbutton" value="Build the PDF">
</form>

然后在提交表单时,我收集我的表单项,将它们放在一个数组中,创建一个数组进入的会话并使用一个标题(&#34;位置:testcode.php&#34;)重定向到哪里我的FPDF代码是。

if (isset($_POST['buildPDf'])) {
    $pdfArray = array();
    foreach ($_POST as $key => $value) {

        ...gather your form items into your array

    }
    $_SESSION['pdfArray'] = $pdfArray;
    header("Location: testcode.php");
}

并且不要忘记你的FPDF代码文件(在我的情况下是testcode.php)来获取具有数组的会话。

<?php
    session_start();
    $pdfArray = $_SESSION['pdfArray'];

     ... your FPDF code

    $pdf->Output('I');
?>

答案 3 :(得分:0)

来源:https://www.thesitewizard.com/html-tutorial/open-links-in-new-window-or-tab.shtml

a 标记中使用 target =“ _ blank” 将其打开到新标签页