FPDF /如何正确显示

时间:2017-06-04 01:11:21

标签: php download fpdf

我使用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);
  • $ pdf-> Output();正在生成难以辨认的代码readfile
  • echo和file_get_contents抛出错误
  • $ pdf->输出(...给我一个错误,指出输出不正确 目的地(见附页截图)

需要指导 - 感谢您的帮助。 enter image description here

enter image description here

enter image description here

这是完整的代码:

 <?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>&nbsp;<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>&nbsp;&nbsp;<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>&nbsp;</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");

    ?>

1 个答案:

答案 0 :(得分:0)

来自documentation

  

目的地发送文件的位置。它可以是以下之一:

     
      
  • 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>

还有其他方法可以做到这一点,但这应该是最简单的。