This is a PHP class for generating PDF documents without requiring external extensions. 
 TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.
 
TCPDF main features are:
- 
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, TrueType, 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 (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/www/formats.html) 
- 
1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix, QR-Code, PDF417; 
- 
JPEG and PNG ICC profiles, 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, named destinations and table of content; 
- 
text hyphenation; 
- 
text stretching and spacing (tracking); 
- 
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; 
- 
Layers and object visibility; 
- 
PDF/A-1b support. 
Tools to encode your unicode fonts are on fonts/utils directory.
Definition in file tcpdf.php.