1

每当我尝试使用 FPDF 创建 PDF 时,都会收到以下错误:

FPDF 错误:一些数据已经输出,无法发送 PDF 文件(输出开始于路径:15)。

当我的文件中只有 PDF 脚本时,它可以工作,但我需要从我的数据库中收集一些数据。

我已添加ob_clean();到该功能Output();,但不幸的是,它仍然无法正常工作。

下面是我的代码:

<?php
include "connect.php";

$orderId = $_GET['OrderId'];
$findOrders = mysql_query("SELECT * FROM orderLines WHERE OrderId = $orderId ");
if (!$findOrders) { 
    die('Invalid query: ' . mysql_error());
}

while($row=mysql_fetch_array($findOrders)){
    $article = $row['article'];
    $quantity = $row['quantity'];
    $price = $row['price'];
}

require('fpdf17/fpdf.php');

$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
4

1 回答 1

0

当显示此错误时,表示除了 PHP 文件之外,还有一些数据正在发送到您的浏览器,即FPDF将文件头发送到 PDF 文件,

header('Content-Type: application/pdf');

但是,您在标头规范之前输入了一些数据,例如字符甚至空格,这会导致错误。

两种选择:

1)require('fpdf17/fpdf.php');在脚本的开头制作。所以,表头不能更改,在表头设置之前不会有入口;

2)如果您说脚本在没有数据库搜索的情况下工作,那么错误可能在connect.php文件中。查看它以确保它不会向浏览器发送任何内容(在<?php ?>它的内部和外部!

PS:FPDFob_clean()在调用时已经这样做了。

于 2013-04-12T13:52:40.990 回答