簡體   English   中英

獲取TCPDF:一些數據已經輸出,無法在Laravel 4中發送PDF文件

[英]Getting TCPDF:Some data has already been output, can't send PDF file in 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 ERROR:部分數據已經輸出,無法發送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');
        }
    }

在流式傳輸 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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM