【问题标题】:How to use column of mPDF on Yii2?如何在 Yii2 上使用 mPDF 列?
【发布时间】:2022-06-21 10:46:22
【问题描述】:

我正在使用 mPDF 将我的报告转换为 PDF。我的表格需要两列,但我产生了这个错误。

enter image description here

我已经使用了不同的方式来添加列

<columns column-count="2" vAlign="J" column-gap="5" /> 我也尝试添加这个, 'SetColumns' => [2, 'J', 3],

但一切都不起作用并给出了同样的错误。这是我在控制器上的代码。

        set_time_limit(300);
        ini_set("memory_limit","512M");
        $model = new Reports();
        $auditrecord = new Auditrecord();
        $regionlist = Tblregion::find()->all();
        $questionnairep = Reports::getquestionnaire($reportyear, 3);
        $questionnairehuc = Reports::getquestionnaire($reportyear, 2);
        $questionnairecm = Reports::getquestionnaire($reportyear, 1);
         $htmlContent = $this->renderPartial('resultscore', [
            'model' => $model, 
            'reportyear' => $reportyear,
            'questionnairep' => $questionnairep,
            'questionnairehuc' => $questionnairehuc,
            'questionnairecm' => $questionnairecm,
            'regionlist' => $regionlist,  
            'auditrecord' => $auditrecord,          
               
        ]);

        $fname = Yii::$app->user->identity->userinfo->FIRST_M;
        $lname = Yii::$app->user->identity->userinfo->LAST_M;
        $now = date('Y-m-d h:i:s A');
        
        $pdf = new Pdf([
            'format' => Pdf::FORMAT_A4,
            'orientation' => Pdf::ORIENT_PORTRAIT ,
            
            'marginTop' => 40,
            'cssInline' => '.left{margin-right: 100px;}',
            'methods' => [ 
                //'SetHeader'=>[$header], 
                //'SetColumns' => [2, 'J', 3],   
                'SetFooter'=>['<p class="text-left">' . $now .'</p> Page {PAGENO}'],
            ],
            ]);
        $mpdf = $pdf->api;
        //$mpdf->SetColumns(2, 'J', 3);
        $mpdf->useSubstitutions = false; 
       // $mpdf->simpleTables = true;
        // $mpdf->keepColumns = true;
        // $mpdf->SetColumns(3);
        
        $mpdf->SetFooter('<p class="text-left">' . $now .'</p> Page {PAGENO} ');

        $pdf->content = $htmlContent;
        return $pdf->render(); 

【问题讨论】:

  • 在使用前尝试检查renderpartial的参数。
  • 我不认为我使用 renderPartial 的方式或我使用的参数有什么问题。这也是 mPdf 文档所说的,使用 renderPartial。或者请向我解释我不知道的事情。谢谢。

标签: php pdf yii yii2 mpdf


【解决方案1】:

我认为使用 setColumn 可以像在 mPDF 的文档中一样使用 mPDF

$mpdf = new \Mpdf\Mpdf([
        'format' => Pdf::FORMAT_A4,
        'orientation' => Pdf::ORIENT_PORTRAIT,
        'margin_top' => 36,
        'margin_bottom' => 20,
        'margin_left' => 10,
        'margin_right' => 10,
        'options' => ['filename' => 'Dossier de travail '],
        'cssInline' => '.left{margin-right: 100px;}',
        'methods' => [ 
            'SetHeader'=>[$header], 
           ],
        ]);
    
    $mpdf->SetColumns(2, 'J', 3);
    $mpdf->SetHeader($header);
    $mpdf->SetFooter('
        <table width="100%">
            <tr>
                <td align="left"><b><small>' . $now .'</small></b></td>
                <td align="right"><b><small>Page {PAGENO}</small></b></td>
            </tr>
        </table>');
    $mpdf->WriteHTML($htmlContent);
    
    $mpdf->Output();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多