FPDF/FPDI UseTemplate
Я использую FPDI & FPDF для наложения нового текста поверх существующего PDF. Для этого используется метод useTemplate().
У меня проблема - он применяет шаблон только к первой странице. Если текст длинный, он переносится на вторую страницу, используя метод SetAutoPageBreak(). Как я могу заставить его применить шаблон на каждой странице?
1 ответ
Решение
Я взломал это. Изучив код, я понял, что даже подпрограмма SetAutoPageBreak() внутренне вызывает AddPage(), давая мне ловушку, необходимую для включения моего шаблона на каждую страницу.
Итак, я расширил базовый класс FPDI и переопределил метод AddPage(), включая использование useTemplate().
class BBPDF extends FPDI {
function AddPage($orientation='', $size='') {
parent::AddPage($orientation,$size);
$this->setSourceFile('templates/discover-community.pdf');
$template = $this->ImportPage(1);
$this->useTemplate($template);
}
}