PHP | FPDF-PDF Generator

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 to setup page format and margins.
  • Allows to setup page header and footer.
  • It provides automatic page break and line break.
  • It supports images in various formats (JPEG, PNG and GIF).
  • It allows to setup Colors and Links.
  • It also support encoding.
  • Along with Page compression feature it provides many other functions.

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

Program 1:



filter_none

edit
close

play_arrow

link
brightness_4
code

<?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();
  
?>

chevron_right


Output:
fpdf

Program 2: Setup Header and Footer along with line break

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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();
  
?>

chevron_right


Output:
fpdf
Reference: http://www.fpdf.org/



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

3


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.