gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:08:13 27 4
gpt4 key购买 nike

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

我需要想办法通过发票生成页数和当前页数。因此,如果第一张发票是 3 页,它会显示 Page: 1 of 3、Page: 2 of 3 等,而下一张发票是 5 页、Page: 1 of 5、Page: 2 of 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 addon page groups

关于FPDF 在一个 PDF 中生成多个文档,需要重置每个文档的页码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17089269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com