Open In App

PHP | FPDF-PDF Generator

Last Updated : 11 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

FPDF is a PHP class which allows generating PDF files with PHP code. It is free to use and it does not require any API keys. FPDF stands for Free PDF. It means that any kind of modification can be done in PDF files.

The main features of this class are:

  • Allows setting up page format and margins.
  • Allows setting up the page header and footer.
  • It provides automatic page breaks and line breaks.
  • It supports images in various formats (JPEG, PNG, and GIF).
  • It allows you to set up Colors and Links.
  • It also supports encoding.
  • Along with the Page compression feature, it provides many other functions.

Note: Download the latest version of this Class from https://www.fpdf.org/en/download.php

Program 1:

php
<?php

require('fpdf.php');

// New object created and constructor invoked
$pdf = new FPDF();

// Add new pages. By default no pages available.
$pdf->AddPage();

// Set font format and font-size
$pdf->SetFont('Times', 'B', 20);

// Framed rectangular area
$pdf->Cell(176, 5, 'Welcome to GeeksforGeeks!', 0, 0, 'C');

// Set it new line
$pdf->Ln();

// Set font format and font-size
$pdf->SetFont('Times', 'B', 12);

// Framed rectangular area
$pdf->Cell(176, 10, 'A Computer Science Portal for geek!', 0, 0, 'C');

// Close document and sent to the browser
$pdf->Output();

?>

Output:

fpdf

Program 2: Setup Header and Footer along with line break

php
<?php
require('fpdf.php');
 
class PDF extends FPDF
{
    // Page header
    function Header()
    {
        // GFG logo image
        $this->Image('geeks.png', 30, 8, 20);
        
        // GFG logo image
        $this->Image('geeks.png', 160, 8, 20);
        
        // Set font-family and font-size
        $this->SetFont('Times','B',20);
        
        // Move to the right
        $this->Cell(80);
        
        // Set the title of pages.
        $this->Cell(30, 20, 'Welcome to GeeksforGeeks', 0, 2, 'C');
        
        // Break line with given space
        $this->Ln(5);
    }
     
    // Page footer
    function Footer()
    {
        // Position at 1.5 cm from bottom
        $this->SetY(-15);
        
        // Set font-family and font-size of footer.
        $this->SetFont('Arial', 'I', 8);
        
        // set page number
        $this->Cell(0, 10, 'Page ' . $this->PageNo() .
              '/{nb}', 0, 0, 'C');
    }
}
 
// Create new object.
$pdf = new PDF();
$pdf->AliasNbPages();

// Add new pages
$pdf->AddPage();

// Set font-family and font-size.
$pdf->SetFont('Times','',12);

// Loop to display line number content
for($i = 0; $i < 50; $i++)
    $pdf->Cell(30, 10, 'Line Number ' . $i, 0, 2, 'L');
    
$pdf->Output();

?>

Output:

fpdf


Article Tags :

Similar Reads