Mpdf different header for first page

swapnil shahane picture swapnil shahane · Jul 10, 2014 · Viewed 17.8k times · Source

I am working on quotation software where I am using mpdf for quotation generation using HTML format. Header are set by code below.

$mpdf->SetHTMLHeader($header);
$mpdf=>SetHTMLFooter($footer);

Which applies uniformly to all pages. But I need different header to first page. How should I achieve it?

Answer

Yotam Omer picture Yotam Omer · Feb 11, 2015

As you wrote, SetHTMLHeader and SetHTMLFooter apply to the entire document. If you want different headers / footers for the first page you will have to remove both

$mpdf->SetHTMLHeader($header);
$mpdf->SetHTMLFooter($footer);

And do it like so:

  1. In your PDF's HTML code, place right after the <body> tag the different header definitions like so:
<htmlpageheader name="firstpage" style="display:none">
    <div style="text-align:center">First Page</div>
</htmlpageheader>

<htmlpageheader name="otherpages" style="display:none">
    <div style="text-align:center">{PAGENO}</div>
</htmlpageheader>
  1. Set your headers like this (still in you first page's code)
<sethtmlpageheader name="firstpage" value="on" show-this-page="1" />
<sethtmlpageheader name="otherpages" value="on" />

This turns on both headers but on the first page shows the "firstpage" header.

  1. Same goes for footers.


IMPORTANT NOTE:

There are actually a few ways to go about it. They are all documented here. I chose to write here the one I think is the most straight forward and will easily work, but I recommend you read the docs and choose the one that best suits your needs.