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

时间:2013-02-28 13:43:40

标签: php fpdf

我收到此错误消息:

  

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++;
}

3 个答案:

答案 0 :(得分:2)

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

我怀疑你的PHP文件中的其他地方,可能有一些非FPDF输出导致你看到错误。

答案 1 :(得分:1)

在您输出pdf对象之前,在您的代码中的某个地方,您已经完成了一些echovar_dump或任何其他输出方法。 使用header输出数据时,您无法在header语句之前向标准输出发送任何其他内容

答案 2 :(得分:1)

在此使用输出缓冲: -

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

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

请参阅此link以了解ob_clean();