我从帖子表格中生成了pdf(fpdf)。我希望pdf在新的选项卡和/或窗口中打开,提示用户保存pdf。我猜我需要将输出保存为字符串
$data=$pdf->Output("OfficeForm.pdf", "S");
但我究竟能用这个字符串做什么来让它在新窗口中打开。我试过这样的事情,但是没有用。我是在正确的轨道上还是在窗口。打开不是我需要的东西?
echo "<script type=\"text/javascript\">
window.open('$data', '_blank')
</script>";
答案 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” 将其打开到新标签页