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:
<?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:

Program 2: Setup Header and Footer along with line break
<?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:

Reference: http://www.fpdf.org/
Recommended Posts:
- How to Check a Function is a Generator Function or not using JavaScript ?
- How to create linear-gradient color generator using HTML, CSS and JavaScript ?
- Node.js | crypto.createDiffieHellman(primeLength, generator) Method
- Node.js | crypto.createDiffieHellman(prime, primeEncoding, generator, generatorEncoding) Method
- JavaScript | Generator.prototype.throw() Method
- JavaScript | Generator.prototype.return() Method
- JavaScript | Generator.prototype.next() Method
- Creating Socket.IO Server using Express Generator
- QR Code Generator using HTML, CSS and jQuery
- How to create Animated bars using HTML and CSS?
- How to transform a JavaScript iterator into an array?
- How to make bootstrap version 2 tab dropdown?
- How to add a PHP page to WordPress?
- How to get button toggle state within HTML?
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.

