【问题标题】:FPDF Multiple Documents Generated In One PDF, Need To Reset Page No Per DocumentFPDF 在一个 PDF 中生成多个文档,需要重置每个文档的页码
【发布时间】:2013-06-13 14:10:33
【问题描述】:

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

我需要想办法通过发票生成页数和当前页。因此,如果第一张发票是 3 页,它会显示第 1 页,共 3 页,第 2 页,共 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();

模板有一个包含到输出页码的标题...

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

【问题讨论】:

    标签: fpdf


    【解决方案1】:

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

    【讨论】:

    • 非常感谢您的回复!会试试看!
    • 你能提供一个更新的网址吗,因为这个网址不起作用,而且这个答案也没用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    相关资源
    最近更新 更多