发送输出到浏览器的FPDF错误


FPDF error sending output to browser

我得到这个错误信息:

FPDF错误:部分数据已经输出,无法发送PDF文件

,当我启动下面的代码;你知道为什么吗?你能帮我吗?

$i = 0;
while ($i <= $y)
{
  $namefilepdf=$x_labelname.$i.'.pdf';
  $pdf=new FPDF();
  $pdf->AddPage($x_lay,$x_dimpag);
  $pdf->SetFont('Arial');           
  if (isset($x_toprint1))
    if ($x_toprint1=='on')
        if (isset($x_progressive1))
        {
          if ($x_progressive1=='on')
          {
            $pdf->SetFontSize($x_font1);
            $pdf->Text($x_coordx1,$x_coordy1,$x_val1+$i);
          }
        }
        else
        {
            $pdf->SetFontSize($x_font1);
            $pdf->Text($x_coordx1,$x_coordy1,$x_valore1);
        }
  $pdf->Output($namefilepdf,'D');
  $i++;
}

要使FPDF工作,不能有任何其他输出。在PHP文件中其他地方的echo语句,<?php ?>标记之前或之后的任何内容(包括空格)等都会导致该错误消息。

我怀疑在PHP文件的其他地方,可能有一些非fpdf输出导致您看到这个错误。

这是因为在输出pdf对象之前,您已经完成了一些echovar_dump或任何其他输出方法。当使用header输出数据时,您不能在header语句之前发送任何其他内容到标准输出

在这里使用输出缓冲:-

在发送到输出之前,使用ob_clean();清理输出缓冲区。

 ob_clean();//add this line 
 $pdf->Output($namefilepdf,'D');

请点击此链接了解ob_clean();