Получение TCPDF: некоторые данные уже выведены, невозможно отправить файл PDF в Laravel 4

Я использую HTML2pDf конвертер для генерации PDF мой код выглядит следующим образом

    require_once(app_path().'/libs/html2pdf/html2pdf.class.php') ;
$html2pdf = new HTML2PDF('P','A4','en',true,'UTF-8',array(0, 0, 0, 0));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($html22);
$html2pdf->Output($username.'_questionnaire.pdf');

Я получаю следующую ошибку

ОШИБКА TCPDF: некоторые данные уже выведены, невозможно отправить файл PDF

Функция, где у меня есть этот скрипт выглядит следующим образом

public function postExporttopdf(){
$validator = Validator::make(Input::all(),array('delid'=>'required'));
$event = Session::get('tempevenname');
if($validator->passes()){

$uid1 = Input::get('delid');
$username = User::find(Input::get('delid'))->name;

$page1data = Question::where('event','=',$event)->where('page','=',1)->orderBy('order')->with('choices')
->with(array('answers'=>function($query){
$query->where('user_id','=',Input::get('delid'));
}))->get();

$page2data = Question::where('event','=',$event)->where('page','=',2)->orderBy('order')->with('choices')
->with(array('answers'=>function($query){
$query->where('user_id','=',Input::get('delid'));
}))->get();

$page3data = Question::where('event','=',$event)->where('page','=',3)->orderBy('order')->with('choices')
->with(array('answers'=>function($query){
$query->where('user_id','=',Input::get('delid'));
}))->get();

$page4data = Question::where('event','=',$event)->where('page','=',4)->orderBy('order')->with('choices')
->with(array('answers'=>function($query){
$query->where('user_id','=',Input::get('delid'));
}))->get();

$html22 = View::make('reviewsendpdf')->with(array(

'page1data'=>$page1data,

'page2data'=>$page2data,

'page3data'=>$page3data,

'page4data'=>$page4data

));



require_once(app_path().'/libs/html2pdf/html2pdf.class.php') ;
$html2pdf = new HTML2PDF('P','A4','en',true,'UTF-8',array(0, 0, 0, 0));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($html22);
$html2pdf->Output($username.'_questionnaire.pdf');

} else {
return Redirect::to('admin/exporttopdf')->with('message','Select a user and event');
}
}

0

Решение

Возможно, что-то уже было записано в выходной буфер до потоковой передачи содержимого PDF

Попробуй использовать ob_end_clean очистить выходной буфер непосредственно перед вызовом метода:

require_once(app_path().'/libs/html2pdf/html2pdf.class.php') ;
$html2pdf = new HTML2PDF('P','A4','en',true,'UTF-8',array(0, 0, 0, 0));
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($html22);

ob_end_clean();

$html2pdf->Output($username.'_questionnaire.pdf');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]