This was something I was searching long and hard for whilst writing a billing system I was working on.
I thought I’d share this here just in case anyone else finds it useful.
Using the excellent FPDI php template library to write php generated text onto a PDF template, I needed to have the generated text span over a few pages. I struggled to get the template to appear on each new page, and when I did I need to add a margin to the top of the document to prevent overwriting the PDF template header.
In the end the only way I could do it was by extending the FPDI class to run my own code in the header of all new pages
class MYPDF extends FPDI {
var $_tplIdx; // Store the template id of the imported page
function Header() { // Include a background template for every page
if (is_null($this->_tplIdx)) {
$this->_tplIdx = $this->importPage(1);
}
$this->useTemplate($this->_tplIdx);
$this->SetY(58); // Add a sufficent gap at the top of the page
}
function Footer() {}
}