FPDF: нижний колонтитул первой страницы печатается с данными второй страницы - PullRequest
0 голосов
/ 27 апреля 2020

Я использую FPDF для создания 3-х страниц PDF. Расширен класс FPDF для добавления заголовка, нижнего колонтитула и функции для основного содержимого.

enter image description here

Затем я использую массив, который содержит 3 имени верхнего и нижнего колонтитула, которые я отобразить на каждой странице, чтобы продемонстрировать проблему, с которой я столкнулся.

enter image description here

После загрузки первой страницы переменная $i равна 0, а первая имя заголовка, то есть «Заголовок 1» печатается. Основное содержимое также печатается, но «Нижний колонтитул 1» еще не печатается.

Значение $i увеличивается до 1, теперь значение в $footerName равно «Нижний колонтитул 2», и теперь оно печатается на первая страница. «Нижний колонтитул 3» печатается на второй странице. Это проблема, с которой я сталкиваюсь, заголовок и все остальное работает нормально, но нижний колонтитул - нет.

Он не ждет окончания работы нижнего колонтитула sh, а вместо этого запускает следующий набор кода и начинает обработку следующей страницы, а затем печатает нижний колонтитул предыдущей страницы с неверными данными.

enter image description here

1 Ответ

1 голос
/ 27 апреля 2020

Вы должны написать свой l oop в следующем порядке:

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

Поскольку функция page1 (Footer () вызывается во втором addPage (), нижний колонтитул page2 вызывается в третьем addPage (), ...

...