4

FPDF を使用して請求書を生成していますが、複数のドキュメントを印刷するときに問題を回避する必要がありました。印刷用に複数 (2 から 100 以上) の請求書を生成しているので、FPDF コードの周りに foreach ループを作成して、すべての請求書を 1 つの PDF にまとめ、印刷を開始して完了できるようにしました。問題は、FPDF が PageNo() と {nb} を使用してページ番号とヘッダーの合計ページ数を生成し、500 ページの場合、Page: 1 of 500、Page: 2 of 500、Page: 3 of 3 と表示されることです。 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');
4

1 に答える 1

4

すべてのグループが独自のページ範囲を持つページグループを作成することが可能です。その作業を行うアドオンがすでに存在します: fpdf addon page groups

于 2013-07-10T09:42:32.990 に答える