我使用fpdf库从html输出pdf。正在创建.pdf,因为我可以通过电子邮件发送给自己,并且它以正确的格式到达,但如果我想在不发送电子邮件的情况下下载.pdf作为选项,则输出难以辨认。输出显示在浏览器窗口中(请参阅随附的屏幕截图),我不确定如何解决此问题。
我还附上了我们如何设置报告选项的屏幕截图。 1. HTML 2. PDF 3.下载4.电子邮件 - HTML和电子邮件选项工作,PDF和下载选项不工作。我专注于这个问题中的下载选项。
这是我尝试测试但没有运气的输出代码
//$pdf->Output("D","D:/example2.pdf");
//$content = $pdf->Output("","S");
//$pdf->Output(); //Outputs on browser screen
//Outputs on browser screen
$pdf->Output();
//echo file_get_contents($pdf);
//readfile($pdf);
这是完整的代码:
<?php
$m_header = '<link href="shared/report.css" rel=stylesheet type="text/css">';
$m_body_tag = ' scroll=no';
require_once($DOCUMENT_ROOT."inc/top-2.inc.php");
$i_get_sid = isset($_GET["sid"]) ? (int)$_GET["sid"] : $i_sid;
$i_get_pass = isset($_GET["a"]) ? $_GET["a"] : $_SESSION['r_pass'];
$i_get_pass = addslashes($i_get_pass);
$i_pdf_file_url = 'report.php?sid='.$i_get_sid.'&a='.urlencode($i_get_pass).'&b=/report.pdf';
echo '<table cellpadding=0 cellspacing=0 border=0 width="100%">';
echo '<tr vAlign=top><td height=7><img src="images/1x1.gif" width=1 height=7></td></tr>';
echo '<tr height=28 style="background: url(images/bookm-bg.gif) repeat-x"><td width="100%"><nobr>';
echo '<img src="images/1x1.gif" width=5 height=1><a href="report.php?sid='.$i_get_sid.'&a='.urlencode($i_get_pass).'"><img src="images/bookm-42.gif" width=67 height=28 border=0></a><img src="images/bookm-s1.gif" width=10 height=28 border=0><img src="images/bookm-51.gif" width=65 height=28 border=0> <a href="report.php?sid='.$i_get_sid.'&a='.urlencode($i_get_pass).'&b=/report.pdf"><img src="images/button-downloadpdf.gif" width=80 height=28 border=0></a> <a href="report.php?sid='.$i_get_sid.'&a='.urlencode($i_get_pass).'&b=email"><img src="images/button-emailpdf.gif" width=80 height=28 border=0></a>';
echo '</nobr></td><td><nobr><font style="font-size: 10px;"><a href="javascript:window.close();">Close Window</a> </font></nobr></td></tr></table>';
(This is what I added as a workaround)echo '<p><a href="'.$i_pdf_file_url.'" name="plugin" width=100% height=100% fullscreen=yes style="position: absolute;">Click Here to open the PDF</p>';
(This is what should display the PDF in the browser but wont' work)
echo '<p><embed type="application/pdf" src="'.$i_pdf_file_url.'" name="plugin" width=100% height=100% fullscreen=yes style="position: absolute;"></p>';
require_once($DOCUMENT_ROOT."inc/btm-2.inc.php");
?>
答案 0 :(得分:0)
目的地发送文件的位置。它可以是以下之一:
- I:将文件内联发送到浏览器。如果可用,则使用PDF查看器。
- D:发送到浏览器并使用名称给出的名称强制下载文件。
- F:保存到名称给出的名称的本地文件(可能包含路径)。
- S:将文档作为字符串返回。
默认值为I.
如果您想强制下载给定名称,请创建一个指向您的pdf脚本的链接并使用它:
$pdf->Output("__name__","F");
如果要显示pdf以供预览使用,请执行以下操作:
$pdf->Output("__name__","I");
并在 PDF 标签中的html中使用 iframe 嵌入pdf:
<iframe src="pdf_preview.php" frameborder="0"></iframe>
还有其他方法可以做到这一点,但这应该是最简单的。