FPDIとFPDFを使用して、既存のPDFの上に新しいテキストをオーバーレイしています。これを実現するためにuseTemplate()メソッドを使用します。
私が抱えている問題-それは最初のページにのみテンプレートを適用します。テキストが長い場合は、SetAutoPageBreak()メソッドを使用して2ページ目に折り返されます。すべてのページにテンプレートを適用するにはどうすればよいですか?
私はそれを割った。コードを調べてみると、SetAutoPageBreak()ルーチンでさえ内部でAddPage()を呼び出しており、すべてのページにテンプレートを含めるために必要なフックが与えられていることがわかりました。
そこで、基本FPDIクラスを拡張し、useTemplate()のものを含むAddPage()メソッドをオーバーライドしました。
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);
}
}