如何在mpdf上生成动态表?

问题描述 投票:0回答:1

我必须使用给定的动态数组生成表。我想每行有3个<td>。我以为当计数器值为3时添加新行,但不知道将第二行值放入其中。我该如何为此建立逻辑?

    public function mpdf_output($array)
{
    $mpdf = new \Mpdf\Mpdf(['format' => 'A4-L']);

    $counter = 0;

    $mpdf->WriteHTML('<table style="width:100%"><tr>');

        foreach($array as $barcode)
        {
            $mpdf->WriteHTML('<td><p style="float:left;">code</p>');
            $mpdf->WriteHTML('<barcode code="'.$barcode['code'].'" type="C128B" class="barcode" />');
            $mpdf->WriteHTML('<p>'.$barcode['img'].'</p></td>');
            $counter++;

            if($counter == 3)
            {
                $mpdf->WriteHTML('Counter restarted');
                $counter = 0;
            }
        }
    $mpdf->WriteHTML('</tr></table>');

    $mpdf->Output();
}
php mpdf
1个回答
1
投票

正如Paritosh所说,您需要将完整的<table>标记传递给mPDFs WriteHTML方法,以使其正确处理。但是,您似乎只想在PDF中使用三列布局。如果是这样,我会选择简单得多的float解决方案:

$html = '';

foreach($array as $barcode)
{
    $html .= '<div style="float: left; width: 33%;">code<barcode code="'.$barcode['code'].'" type="C128B" class="barcode" />' . $barcode['img'] .'</div>');        
}

$mpdf->WriteHTML($html);
© www.soinside.com 2019 - 2024. All rights reserved.