如何在YII2上使用MPDF列?

发布于 2025-02-04 02:04:34 字数 2323 浏览 3 评论 0原文

我正在使用MPDF将报告转换为PDF。我的表需要两个列,但是我正在生成此错误。

在此处输入图像说明

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

&lt; count =“ 2” valign =“ j”列gap =“ 5” /&gt; < /code> 我也尝试添加这个, 'setColumns'=&gt; [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(); 

I am using mPDF to convert my reports to PDF. I need two columns for my table but I am generating this error.

enter image description here

I already used different ways to add columns

<columns column-count="2" vAlign="J" column-gap="5" />
I also tried adding this,
'SetColumns' => [2, 'J', 3],

but everything didn't work and gives the same error. This is my code on my controller.

        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(); 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌逼全场 2025-02-11 02:04:34

我认为使用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();

I figured that using setColumn would work on using mPDF the same manner it was used on the documentation of 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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文