我正在使用FPDI& FPDF在现有PDF上叠加新文本。它使用useTemplate()方法来实现这一点。
我遇到的问题 - 它只将模板应用到第一页。如果文本很长,它将使用SetAutoPageBreak()方法换行到第二页。如何在每个页面上应用模板?
答案 0 :(得分:5)
我已经破解了它。查看代码,我意识到即使是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);
}
}