PHP: Easily create PDF on the fly

PHP: Easily create PDF on the fly

Here, I will be writing about two pdf creation PHP Classes. They are FPDF and TCPDF. With these classes, you can quickly, easily and effectively generate PDF files.

FPDF is smaller in size compared to TCPDF. But, in functionalities, TCPDF wins. TCPDF has lots of features and functionalities.

If you want very advanced features in PDF creation then TCPDF is for you. And, if you want just minimal features of PDF creation and want a smaller in size class then FPDF is for you.

FPDF Library: The PDF generator

Here is what the FPDF website has to say about itself:-

FPDF is a PHP class which allows to generate PDF files with pure PHP, that is to say without using the PDFlib library. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.

FPDF has other advantages: high level functions. Here is a list of its main features:

– Choice of measure unit, page format and margins
– Page header and footer management
– Automatic page break
– Automatic line break and text justification
– Image support (JPEG, PNG and GIF)
– Colors
– Links
– TrueType, Type1 and encoding support
– Page compression

FPDF requires no extension (except zlib to activate compression and GD for GIF support). It works with PHP 4 and PHP 5

Example code to create PDF file



TCPDF – PHP class for PDF

Here is the introduction and main features of TCPDF:-

Started in 2002, TCPDF is now one of the world’s most active Open Source projects, used daily by millions o users and included in thousands of CMS and Web applications. TCPDF is a PHP class for generating PDF documents without requiring external extensions. TCPDF Supports UTF-8, Unicode, RTL languages, XHTML, Javascript, digital signatures, barcodes and much more.

Main Features

– no external libraries are required for the basic functions;
– all standard page formats, custom page formats, custom margins and units of measure;
– UTF-8 Unicode and Right-To-Left languages;
– TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;
– font subsetting;
– methods to publish some XHTML + CSS code, Javascript and Forms;
– images, graphic (geometric figures) and transformation methods;
– supports JPEG, PNG and SVG images natively, all images supported by GD and all images supported via ImagMagick;
– 1D and 2D barcodes;
– Grayscale, RGB, CMYK, Spot Colors and Transparencies;
– automatic page header and footer management;
– document encryption up to 256 bit and digital signature certifications;
– transactions to UNDO commands;
– PDF annotations, including links, text and file attachments;
– text rendering modes (fill, stroke and clipping);
– multiple columns mode;
– no-write page regions;
– bookmarks and table of content;
– text hyphenation;
– text stretching and spacing (tracking/kerning);
– automatic page break, line break and text alignments including justification;
– automatic page numbering and page groups;
– move and delete pages;
– page compression (requires php-zlib extension);
– XOBject templates;

Example code to create PDF file



You can use any one or both of them based on your requirements.


Leave a Reply