php codeigniter dompdf在最大表记录期间出现分页问题

5us2dqdw  于 2022-12-17  发布在  PHP
关注(0)|答案(2)|浏览(161)

对于有限的表记录pdf看起来不错。
所有的表格记录在“echo $html”中看起来都很好,但是当表格记录达到最大值时,PDF创建后的分页不起作用。在最大记录期间,它会创建前4-5页为空。
codeigniter dompdf在最大表记录数期间出现分页问题:
我的代码片段:
//控制器代码

function pdf_create($html, $filename='', $stream=TRUE) 
    {
        require_once("dompdf/dompdf_config.inc.php");

        $dompdf = new DOMPDF();
        $dompdf->load_html($html);
        $dompdf->render();
        if ($stream) {
            $dompdf->stream($filename.".pdf");
        } else {
            return $dompdf->output();
        }
    }

//查看文件代码

......
       ......  
        <tr>
                <td>
              <table width="100%" border="0" style="border:solid 1px #BFBFBF; page-break-inside: auto;" cellspacing="0" cellpadding="10">
       <tr bgcolor="#BFBFBF">
        <td><p style="font-size:14px; margin:0px;">Product Name</p></td>
        <td><p style="font-size:14px; margin:0px;">Product Quantity</p></td>
        <td><p style="font-size:14px; margin:0px;">Product Price</p></td>
        <td><p style="font-size:14px; margin:0px;">Total Price</p></td>
      </tr>
      <?php
$product_title = $product_details['product_titles'];
$prod_quantity = $product_details['product_qty'];
$price = $product_details['product_price'];
$total_price = $product_details['product_cal_price'];
$i = 1;
$j = 0;
$productwisetotal = 0;
foreach ($product_title as $value) { $productwisetotal += $value; ?>      
          <tr style="font-size:12px;" valign="top">
              <td style="border-right:solid 1px #BFBFBF"><?php echo $i.'. '.$value; ?></td>
              <td style="border-right:solid 1px #BFBFBF"><?php echo $prod_quantity[$j]; ?></td>
              <td style="border-right:solid 1px #BFBFBF"></td>
              <td style="border-right:solid 1px #BFBFBF"></td>
          </tr>
<?php    $i++;
         $j++;
       } ?>      
    </table>  

                </td>    
                </tr>
        .....
        .....

请给予我的想法,我怎么能添加在pdf分页时,表包含最大记录?

tyu7yeag

tyu7yeag1#

为父表添加page-break-inside: auto,如下所示

<table style="page-break-inside: auto">
<tr>
<td>

<table width="100%" border="0" style="border:solid 1px #BFBFBF;" cellspacing="0" cellpadding="10">
       <tr bgcolor="#BFBFBF">
-------
</table>
6fe3ivhb

6fe3ivhb2#

$mpdf = new \Mpdf\Mpdf();
        $html = $this->load->view('client_tid_pdf', $data,true);
        $mpdf->autoPageBreak = true;
        $mpdf->setAutoTopMargin='stretch';
        $mpdf->setAutoBottomMargin = 'stretch';
        $mpdf->WriteHTML($html);
        $mpdf->Output();

相关问题