我收到此错误消息:
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++;
}
答案 0 :(得分:2)
要使FPDF正常工作,就不能有任何其他输出。诸如PHP文件中其他位置的echo
语句,<?php ?>
标记之前或之后的任何内容(包括空格)等都会导致该错误消息。
我怀疑你的PHP文件中的其他地方,可能有一些非FPDF输出导致你看到错误。
答案 1 :(得分:1)
在您输出pdf对象之前,在您的代码中的某个地方,您已经完成了一些echo
或var_dump
或任何其他输出方法。
使用header
输出数据时,您无法在header
语句之前向标准输出发送任何其他内容
答案 2 :(得分:1)
在此使用输出缓冲: -
在发送到输出之前使用ob_clean();
清除输出缓冲区。
ob_clean();//add this line
$pdf->Output($namefilepdf,'D');
请参阅此link以了解ob_clean();