Header, footer, page break and image

Here is a two page example with header, footer and logo:

<?php
require('fpdf.php');

class PDF extends FPDF
{
//Constructor (mandatory with PHP3)
function PDF()
{
    $this->FPDF();
}

//Page header
function Header()
{
    //Logo
    $this->Image('logo_pb.png',10,8,33);
    //Arial bold 15
    $this->SetFont('Arial','B',15);
    //Move to the right
    $this->Cell(80);
    //Title
    $this->Cell(30,10,'Title',1,0,'C');
    //Line break
    $this->Ln(20);
}

//Page footer
function Footer()
{
    //Position at 1.5 cm from bottom
    $this->SetY(-15);
    //Arial italic 8
    $this->SetFont('Arial','I',8);
    //Page number
    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}
}

//Instanciation of inherited class
$pdf=new PDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
    $pdf->Cell(0,10,'Printing line number '.$i,0,1);
$pdf->Output();
?>

This example makes use of the Header() and Footer() methods to process headers and footers. They already exist in the FPDF class but do nothing, therefore we have to extend the class and override them.
The logo is printed with the Image() method by specifying its upper-left corner and its width.
To print the page number, a null value is passed as the cell width. It means that the cell has to extend up to the right margin of the page; it is handy to center text. Note the use of the SetY() method which allows to position at an absolute location in the page, starting from the top or the bottom.

Another interesting feature is used here: the automatic page breaking. As soon as a cell would cross a limit in the page (at 2 centimeters from the bottom by default), a break is performed and the font restored. Although the header and footer select their own font (Arial), the body continues with Times. This mechanism of automatic restoration also applies to line width and colors. The limit which triggers page breaks can be set with SetAutoPageBreak().