Php 自定义页脚调整

Php 自定义页脚调整,php,codeigniter,pdf,tcpdf,Php,Codeigniter,Pdf,Tcpdf,我在php codeigniter框架中使用tcpdf生成发票pdf,我使用html模板,然后写入pdf 发票pdf包含公司名称、地址、项目列表、价格和签名等 请看案例1- 如果pdf中只有1项,则价格和签名框应位于底部 请看案例2- pdf有很多项,如果底部有空格,则页脚在底部,否则它应该在2页上,但在页脚上,如案例3 我的问题是我不知道如何在项目和底部标志部分之间给出适当的区别,否则pdf生成的很好 我的代码是 public function generatePDF($html1

我在php codeigniter框架中使用tcpdf生成发票pdf,我使用html模板,然后写入pdf

发票pdf包含公司名称、地址、项目列表、价格和签名等

请看案例1-

如果pdf中只有1项,则价格和签名框应位于底部

请看案例2-

pdf有很多项,如果底部有空格,则页脚在底部,否则它应该在2页上,但在页脚上,如案例3

我的问题是我不知道如何在项目和底部标志部分之间给出适当的区别,否则pdf生成的很好

我的代码是

    public function generatePDF($html1 = NULL, $name = 'PDF', $path = null, $action = 'D') 
{
    ob_start();
    ob_clean();
    ini_set('memory_limit', '-1');
    require_once(APPPATH . 'third_party/tcpdf/tcpdf.php');  
    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
    $pdf->SetPrintHeader(false);
    $pdf->setFooterData(array(0, 64, 0), array(0, 64, 128));
    $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
    $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
    $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
    // set margins
    $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
    $pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
    $pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
    // set auto page breaks
    $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
    // set image scale factor
    $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
    $pdf->SetFont('stsongstdlight','B', 12);
    // add a page
    $pdf->AddPage();
    $pdf->SetLineStyle( array( 'width' => 2, 'color' => array(0,0,0)));
    $pdf->Line(0,0,$pdf->getPageWidth(),0); 
    $pdf->Line($pdf->getPageWidth(),0,$pdf->getPageWidth(),$pdf->getPageHeight());
    $pdf->Line(0,$pdf->getPageHeight(),$pdf->getPageWidth(),$pdf->getPageHeight());
    $pdf->Line(0,0,0,$pdf->getPageHeight());

    // output the HTML content
    $pdf->writeHTML($html1, true, false, true, false, '');
    $pdf->Output($name . '.pdf', $action);
}

你可能应该在页脚上写上,检查你是否还有足够的空间,然后只写在最后一页上。。你能帮忙吗??