我在我的项目中使用了fpdf库,并使用它来扩展其中一个drupal模块。这几行
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
给我一个错误:PDF错误:一些数据已经被输出,无法发送
我尝试在drupal区域之外的一个单独的文件中创建这个文件,文件名为test.php,在查看时它可以正常工作。这里有人知道为什么这个不起作用吗?或者这里的任何人都可以给我一个合适的pdf库,我可以在drupal中使用它来查看HTML到PDF格式。
发布于 2012-02-28 10:59:59
要让fpdf正常工作,除了fpdf生成的内容之外,根本不能有任何输出。例如,这将会起作用:
<?php
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
而这不会(注意开始<?
标记之前的前导空格)
<?php
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
此外,这也不会起作用( echo
会破坏它):
<?php
echo "About to create pdf";
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>
我不确定drupal方面的事情,但我知道绝对零的非fpdf输出是fpdf工作的必要条件。
发布于 2015-06-18 14:28:02
在顶部添加ob_start ();
,在末尾添加ob_end_flush();
<?php
ob_start();
require('fpdf.php');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
ob_end_flush();
?>
发布于 2012-10-19 18:46:35
给我一个错误,如下所示:
FPDF error: Some data has already been output, can't send PDF
要克服这个错误:转到其中的fpdf.php
,转到996行
function Output($name='', $dest='')
在此之后,进行如下更改:
function Output($name='', $dest='') {
ob_clean(); //Output PDF to so
https://stackoverflow.com/questions/9475686
复制相似问题