我想将TCPDF添加到codeigniter,所以我从TCPDF Download下载了TCPDF并在/libraries/Pdf.php中创建了一个文件
require_once dirname(__FILE__) . '/tcpdf/tcpdf.php';
class Pdf extends TCPDF
{
function __construct()
{
parent::__construct();
}
}
并在控制器
中使用它function pdfTest(){
$this->load->library("Pdf");
$pdf = new Pdf('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->SetCreator(PDF_CREATOR);
// Add a page
$pdf->AddPage();
$html = "<h1>Test Page</h1>";
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Output();
}
但它给了我以下错误
TCPDF ERROR: Some data has already been output, can't send PDF file
错误的原因是什么?如何解决?我搜索了分配但找不到解决方案。 提前谢谢你们。
答案 0 :(得分:5)
最后找到了我在ob_clean();
之前放置$pdf->Output('test.pdf','I');
的答案。这解决了问题。谢谢大家的帮助。
答案 1 :(得分:2)
确保在<?php
之前和?>
之后不要有空格
要么
只需使用页面顶部的ob_start();
即可。
答案 2 :(得分:1)
此错误表示在创建pdf之前已显示或回显了某些错误或输出。请检查您是否打印过任何东西。