FPDF:第一页的页脚打印第二页的数据

FPDF: Footer of first page gets printed with data of second page

我正在使用 FPDF 生成 3 页 pdf。已扩展 FPDF class 以添加 header、页脚和主要内容的功能。

然后我使用包含 3 个 header 的数组和我在每个页面上显示的页脚名称只是为了演示我面临的问题。

加载第一页后,变量 $i 为 0,第一个 header 名称,即 "Header 1" 被打印。主要内容也已打印,但 "Footer 1" 尚未打印。

$i 的值增加到 1,现在 $footerName 中的值是 "Footer 2",现在它打印在第一页上。 "Footer 3" 打印在第二页上。这是我面临的问题,header 其他一切正常,但页脚不是。

它不是在等待页脚完成,而是 运行 下一组代码并开始下一页处理,然后打印上一页的页脚,数据不正确。

您应该按以下顺序编写循环:

for ($i = 0 ; $i < 3 ; $i++) {
    $headerName = $headerNames[$i];
    $pdf->AddPage();
    $footerName = $footerNames[$i];
    $pdf->mainContent();
}

因为page1的Footer()函数是在第二个addPage()调用的,page2的Footer是在第三个addPage()调用的,...