Jay Jay - 1 month ago 10
PHP Question

FPDF Get page numbers at footer on Every A4 size page

I am creating PDF reports using FPDF. Now how do I generate page numbers on each page of a report at the bottom of the page.
Below is the sample code for generating a 2 page PDF.

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

$pdf = new FPDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','',16);

$start_x=$pdf->GetX();
$current_y = $pdf->GetY();
$current_x = $pdf->GetX();

$cell_width = 25; $cell_height=14;
$j = 20; // This value will be coming from Database so we dont know how many pages the report is going to be
for ($i = 0; $i<$j ; $i++){
$pdf->MultiCell($cell_width,$cell_height,'Hello1',1);
$current_x+=$cell_width;
$pdf->Ln();
}

$pdf->Output();


?>


Note : The $j value will be coming from the database so we don't know how many pages is the report going to be.

Answer

To add an A4 page, with portrait orientation, do:

$pdf->AddPage("P","A4");

Create a new class which extends the FPDF class, and override the pre-defined Footer method.

Example:

class PDF extends FPDF
{
    function Footer()
    {
        // Go to 1.5 cm from bottom
        $this->SetY(-15);
        // Select Arial italic 8
        $this->SetFont('Arial','I',8);
        // Print centered page number
        $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
    }
}
Comments