PHP Script – Create PDF With FPDF

FPDF is one of powerful and free PHP library for you to create PDF pages or documents on the fly. The library is well documented is easy to use for you who know PHP. PDF pages can be used to generate e-Books, online web reporting and so on. In this topic, we will show you how to create PDF pages using this powerful library.

Download FPDF Class Library

As the first step, you need to download FPDF Class Library. FPDF Class Library can be downloaded for free at fpdf.org. Copy the package into your project folder. Please read the installation guide to know how to place this package.

Source Code

<?
    //By    : Xhanch Studio
    //URL   : http://xhanch.com/
    //define FPDF font path
    define('FPDF_FONTPATH', 'fpdf/font/');
    //include FPDF class library file
    require_once 'fpdf/fpdf.php';
    //create an instance of FPDF
    //The first parameter should be paper orientation
    //P refers to potrait and L refers to Letter
    //The second parameter should be measuring-unit used
    //Available units: cm, mm, in and pt
    //The last parameter should be paper type
    //Availale paper types: A4, Letter, and Legal
    $pdf = new FPDF('P', 'cm', 'A4');
    //Init PDF creation
    $pdf->open();
    //Add a new PDF blank page
    $pdf->AddPage();
    //You may set the margin (optional)
    //The first param is the left margin
    //The second param is the top margin
    //The third param is the right margin
    //The fourth param is the bottom margin
    $pdf->SetMargins(1,1,1,1);
    //Set font
    //The first param should be the font family
    //Available fonts: courier, helvetica, times
    //The second param should be the font style
    //Available style: B(Bold), U(Underline) and I(Italic)
    //The third param should be the font size
    $pdf->SetFont('Arial', 'BUI', 21);
    //Set font color
    //Color is represent by RGB
    //The first param is Red color index
    //The second param is Green color index
    //The third param is Blue color index
    $pdf->SetTextColor(200,75,75);
    //Print a text on the page
    //The first param should be the width of text area
    //0 value will make the FPDF automate the width
    //The second param is the height
    //The third param is the text
    $pdf->Cell(0, 2, 'Hello there!');
    //Print a line break
    //The param is the height of line spacing
    //If you leave it empty, it will use default size
    $pdf->Ln(2);
    //Set text alignment and bordering
    //The fourth param is the size of border
    //0 means borderless
    //The fifth param is the size of line spacing
    //0 means no spacing after the text is printed
    //The last param is the text alignment
    //C(Center), L(Left), R(Right)
    $pdf->Cell(0, 2, 'Hello there!',0, 0, 'C');
    $pdf->Ln(1.5);
    //You may re-define the font style as you wish
    $pdf->SetFont('Arial', 'I', 12);
    $pdf->SetTextColor(0,0,255);
    //Print a multiline/paragraph text
    $text = '
        this is a long paragraph. this is a long paragraph.
        this is a long paragraph. this is a long paragraph.
        this is a long paragraph. this is a long paragraph.
        this is a long paragraph. this is a long paragraph.
        this is a long paragraph. this is a long paragraph.
        this is a long paragraph. this is a long paragraph.
    ';
    //The first param should be the width of text area
    //0 value will make the FPDF automate the width
    //The second param is the line spacing for this paragraph
    //The third param is the text
    $pdf->MultiCell(17.5,0.5,$text);
    //You may add more param for multicell
    //The fourth param is the border width
    //The fifth param is the alignment
    //e.g: $pdf->MultiCell(8,1,$text,1,'L');
    $pdf->Ln(0.5);
    $pdf->SetFont('Arial', 'U', 8);
    $pdf->SetTextColor(0,0,200);
    //Add a link
    //The first param is the line height
    //The second param is the link text
    //The last param is the link URL
    $pdf->Write(1, 'FPDF Example by Xhanch', 'http://xhanch.com');
    $pdf->Ln(0.5);
    //Adding image
    //The first param is the file path
    //Allowed type: jpg, jpeg, gif and png
    //The second param is the x coordinate of the page
    //The third param is the y coordinate of the page
    //The fourth param is the width of the image
    //The fifth param is the height of the image
    $pdf->Image('http://xhanch.com/xhanch-banner.jpg', 1, 10, 5.8, 1.5);
    //Creating table
    //Table can be created by using Cell function
    //We just need to set the cell border
    $pdf->Ln(5.5);
    //Data for the table
    $header = array('Col A', 'Col B', 'Col C');
    $data = array(
        array('A1', 'B1', 'C1'),
        array('A2', 'B2', 'C2'),
        array('A2', 'B2', 'C2')
    );
    //Simple table
    foreach($header as $col)
    $pdf->Cell(2, 0.5, $col, 1);
    $pdf->Ln();
    foreach($data as $row){
        foreach($row as $col)
            $pdf->Cell(2, 0.5, $col, 1);
        $pdf->Ln();
    }
    $pdf->Ln(0.5);
    //Improved table
    //Set Column widths
    $w=array(2,2,2);
    for($i=0;$i<count($header);$i++)
        $pdf->Cell($w[$i],0.5,$header[$i],1,0,'C');
    $pdf->Ln();
    foreach($data as $row){
        $pdf->Cell($w[0],0.5,$row[0],'LR');
        $pdf->Cell($w[1],0.5,$row[1],'LR');
        $pdf->Cell($w[2],0.5,$row[2],'LR');
        $pdf->Ln();
    }
    $pdf->Cell(array_sum($w),0,'','T');
    $pdf->Ln(0.5);
    //Colored table
    $pdf->SetFillColor(255,0,0);
    $pdf->SetTextColor(255);
    $pdf->SetDrawColor(128,0,0);
    $pdf->SetLineWidth(0.01);
    $pdf->SetFont('','B');
    $w=array(2,2,2);
    for($i=0;$i<count($header);$i++)
        $pdf->Cell($w[$i],0.5,$header[$i],1,0,'C',true);
    $pdf->Ln();
    $pdf->SetFillColor(224,235,255);
    $pdf->SetTextColor(0);
    $pdf->SetFont('');
    //Data
    $fill=false;
    foreach($data as $row){
        $pdf->Cell($w[0],0.5,$row[0],'LR',0,'L',$fill);
        $pdf->Cell($w[1],0.5,$row[1],'LR',0,'L',$fill);
        $pdf->Cell($w[2],0.5,$row[2],'LR',0,'L',$fill);
        $pdf->Ln();
        $fill=!$fill;
    }
    $pdf->Cell(array_sum($w),0,'','T');
    //Displaying PDF page
    $pdf->Output();
    //If you want to force the viewer to download
    //the PDF file use the following command instead
    //of $pdf->Output()
    //$pdf->Output('file_name.pdf', 'D');
?>

Code Result

Click here to view the PDF generated by the above PHP script.

Incoming Search Terms

fpdf line spacing, fpdf set bottom margin, fpdf bottom margin, fpdf line height, fpdf font color, fpdf letter spacing, fpdf border width, fpdf margin bottom, fpdf page border, fpdf php free download, fpdf set font color, fpdf textarea, fpdf paragraph, fpdf setmargins, fpdf margin, $pdf->Ln();, $pdf->Ln, fpdf multicell line height, fpdf border color, FPDF wordpress, fpdf spacing, $pdf->ln(), fpdf fontpath, fpdf set line height, fpdf multiline, fpdf script, set font color fpdf, fpdf cell margin, fpdf create table, setmargins fpdf, fpdf set margin, set bottom margin fpdf, $pdf->SetFont color, fpdf multiline in a cell, fpdf cell border width, fpdf setfont color, margin bottom fpdf, mpdf header margin, pdf ln, font path fpdf, fpdf examples, fpdf lineheight, fpdf top margin, fpdf underline, textarea in fpdf, wordpress FPDF, fpdf character spacing, fpdf designer, fpdf font path, fpdf font spacing, fpdf improved table, fpdf php, fpdf php code, fpdf SetFontColor, php code to generate pdf, create pdf php script, fpdf cell multiline, fpdf php source code, fpdf scripts, fpdf setmargins example, setwidths fpdf, bottom margin fpdf, dowload fpdf, fpdf bordercolor, fpdf text area, letter spacing fpdf, pdf setfont color, class fpdf_table php download, FPDF border, fpdf generate pdf table, fpdf margins, fpdf multiline cell, fpdf setmargin, script fpdf, $pdf->Ln(, border in fpdf, fpdf ImprovedTable, fpdf multicell height, fpdf set margin bottom, fpdf setfont, fpdf setline, margin fpdf, page border in fpdf, php pdf ln, set bottom margin in fpdf, set font color in fpdf, create table in fpdf, drupal FPDF, fpdf guide, fpdf line-height, fpdf ln, fpdf multicell, fpdf page margins, fpdf paragraph spacing, FPDF SET PAPER, pdf set font color, pdf SetFontColor, pdf->Ln, php $pdf text align, php code for pdf creation, Xhanch, Xhanch Studio


Posted on 2010-02-12 by Susanto BSc in Free Script, PHP Script
Pdf, Document, Report, Php Pdf, Tutorial, Script, Code, Reporting, Fpdf Table, Php, Web Reporting, Fpdf, Generator, On The Fly, Php Pdf Tutorial, Free, Class, Pdf Generator, Xhanch, Xhanch Studio

Tagged as: , , , , , , , , , , , , , , , , ,

4 Responses to “PHP Script – Create PDF With FPDF”

  1. alaa says:

    i want put html script and convert it to pdf in the fpdf class

    i dont can work it

    help me please

  2. Andrei says:

    Nice example!
    very helpful code for me!

Leave a Reply

You must be logged in to post a comment.