【问题标题】:FPDF error: Some data has already been output, can't send PDF fileFPDF 错误:一些数据已经输出,无法发送 PDF 文件
【发布时间】:2017-01-05 15:49:13
【问题描述】:

我必须在现有的 pdf 文件中添加水印。 我使用 fpdf 和 fpdi 库。

我的代码是:

<?php
ob_start();
require('fpdf/fpdf.php');
require 'fpdi/fpdi.php';
$pdf = new FPDI();
$pdf->setSourceFile("Rabochaya_tetrad.pdf");
$tplIdx = $pdf->importPage(1, '/MediaBox');
$pdf->addPage();
$pdf->useTemplate($tplIdx, 0, 0, 0, 0, true); 
$pdf->SetFont('Arial');
$pdf->SetTextColor(0, 0, 0);
$pdf->SetXY(58, 45);
$your_dynamic_content="file watermark";
$pdf->Write(0,$your_dynamic_content);
$pdf->Output();
ob_end_flush();
?>

当我尝试执行它时,我得到一个错误:

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

我尝试了FPDF error: Some data has already been output, can't send PDF 的所有建议,但都没有帮助。

您对这些问题有什么想法吗?

【问题讨论】:

  • 问题解决了吗?

标签: php fpdf watermark fpdi


【解决方案1】:

要求('fpdf/fpdf.php');

应该是这样的

需要'fpdf/fpdf.php';

参考http://php.net/manual/en/function.require.php

【讨论】:

    【解决方案2】:

    您必须将ob_start(); 行移到$pdf-&gt;Output() 行之前。

    引发错误是因为一个(或多个)函数打印了某些内容,并且您的 PDF 文件在显示时已损坏。

    【讨论】:

      最近更新 更多