FPDF在一个PDF中生成多个文档,需要重置页面否每个文档

时间:2013-06-13 14:10:33

标签: fpdf

我正在使用FPDF生成发票,我在打印多个文档时不得不解决一个问题。我正在生成多个(任何地方从2到100+)发票用于打印,所以我围绕我的FPDF代码构建了一个foreach循环,将我的所有发票放在一个PDF中,这样我就可以打印并完成。问题是,FPDF使用PageNo()和{nb}生成页码和页眉中的总页数,如果我有500页,则列为页面:1 of 500,Page:2 of 500,Page:3 of 500 ......等等。

我需要找出一种按发票生成页数和当前页面的方法。因此,如果第一张发票是3页,则表示页面:1 of 3,Page:2 of 3等,下一张发票是5页,第1页,共5页,第2页,共5页等...甚至虽然它都在同一个PDF中。

    $pdf=new PDF();
    foreach ($array_invoices as $invoice_number) {

            ...FPDF Template Here...

            /**
             * The following code checks the page length
             * If the page is over a certain length it will create a new page.
             * If not, it will add the footer.
             */

            if($pdf->GetY() < 225)
                    $pdf->SetY(238);
            elseif($pdf->getY() > 240)
                    $pdf->AddPage();
    }

    $pdf->Output();

模板的头部有一个include,用于输出页码...

$this->Cell(94,0,'page '.$this->PageNo().'/{nb}' ,0,0,'R');

1 个答案:

答案 0 :(得分:4)

可以创建页面组,其中每个组都有自己的页面范围,已经有一个可以为您完成工作的插件:fpdf addon page groups