【问题标题】:How to use mPDF in YII, when I want to generate PDF file from HTML?当我想从 HTML 生成 PDF 文件时,如何在 YII 中使用 mPDF?
【发布时间】:2017-09-18 05:49:43
【问题描述】:
$mPDF1 = Yii::app()->ePdf->mpdf();
$mPDF1 = Yii::app()->ePdf->mpdf('', 'A4');
$html= $this->renderPartial('poPdfTemplate', array('pdfValues'=>$ponumberData,'po_number'=>$po_number), true);
$mPDF1->WriteHTML($html,0);
//$mPDF1->WriteHTML($html);
$mPDF1->Output();

以上代码用于生成带有 YII 框架的 PDF。

【问题讨论】:

    标签: php pdf yii mpdf


    【解决方案1】:

    前两行将创建 css $pdf_style 和 html 文件 $pdf_part 和 PDF 将写入此文件。

    WriteHTML 函数中包含这两个变量。

        $pdf_style = \Yii::$app->view->renderFile(PROTECTEDPATH . 'common/views/contract/style.css', $data);
        $pdf_part = \Yii::$app->view->renderFile(PROTECTEDPATH . 'common/views/contract/file.tpl', $data);
    
    
        $mpdf = new \mPDF('utf-8','A4');
    
        $mpdf->autoScriptToLang = true;
        $mpdf->baseScript = 1;  // Use values in classes/ucdn.php  1 = LATIN
        $mpdf->autoVietnamese = true;
        $mpdf->autoArabic = true;
        $mpdf->autoLangToFont = true;
    
        $mpdf->SetMargins(null,null,40);
        $mpdf->SetDisplayMode('fullpage');
        $mpdf->SetHTMLHeader('<div style="text-align:right"><img src="'. DOCROOT  .'images/logo_contract.png" height="68" /></div>');
    
        $mpdf->setFooter(' | www.facebook.com | {PAGENO}');
        $mpdf->WriteHTML($pdf_style.'<div class="wrapper">'.$pdf_part.'</div>');
    
        $mpdf->Output('Contract-'.date("iYsmd"), $action, $dest);
    

    【讨论】:

    • 我想加载视图而不是直接生成 HTML 到 PDF 并且只提交所需的表单。
    • 将此代码放入控制器中,并将表单变量设置为 $data 并传递给视图文件。 (第二行)
    • $mPDF1 = Yii::app()->ePdf->mpdf(); $mPDF1 = Yii::app()->ePdf->mpdf('', 'A4'); $html= $this->renderPartial('NAME OF TEMPLATE', array('pdfValues'=>'passing variable'), true); $mPDF1->WriteHTML($html); $mPDF1->输出('podetails.pdf', 'D');
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 1970-01-01
    • 2021-03-13
    • 2015-08-18
    • 1970-01-01
    相关资源
    最近更新 更多