TCPDF
TCPDF is a free and open source software PHP class for generating PDF documents. TCPDF is the only PHP-based library that includes complete support for UTF-8 Unicode and right-to-left languages, including the bidirectional algorithm.[2]
Original author(s) | Nicola Asuni |
---|---|
Initial release | January 6, 2005 |
Stable release | 6.6.5[1]
/ 6 September 2023 |
Repository | |
Written in | PHP |
Operating system | Cross-platform |
Type | Software Library |
License | LGPLv3 |
Website | tcpdf |
In 2009 TCPDF was one of the most active of over 200,000 projects hosted on SourceForge (best ranked 6th on 3 April 2010).[3]
TCPDF is also one of the most used PHP libraries in the world, due to it being already included in the most popular PHP-based CMS and applications, including: Joomla! 1.5, Drupal,[4] Moodle,[5] phpMyAdmin,[6] Xoops,[7] Elxis CMS][8] ImpressCMS,[9] Jelix,[10] SugarCRM,[11] Symfony,[12] TYPO3,[13] Vtiger CRM,[14] Yii Framework,[15] CMS Made Simple,[16] DaDaBIK[17] and many others.
Html2Pdf PHP script by Laurent Minguet is based on TCPDF v5.0.002. This library allows generating PDF documents specified via a subset of html without learning underlying TCPDF api.
The TCPDF class was originally derived in 2002 from the public domain FPDF class written by Olivier Plathey but now has been almost entirely rewritten and hundreds of new features added.[2]
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, Type 1 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 Graphics Library and all images supported via ImageMagick.
- 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 Extension, 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, QRcode, PDF417;
- ICC profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
- automatic page header and footer management;
- document encryption up to 256 bit and digital signature certification;
- transactions to UNDO commands;
- PDF annotations, including hyperlinks, 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;
- PDF/A-1b (ISO 19005-1:2005) support.
References
- "Release 6.6.5". 6 September 2023. Retrieved 19 September 2023.
- TCPDF official website
- "SourceForge.net Update: 2009-03-31 Edition - Statistics and Top Projects". Archived from the original on 2009-08-30. Retrieved 2009-07-22.
- Drupal Pdfview module recommends TCPDF as a third-party tool to use
- Moodle Index of /moodle/lib/tcpdf Archived 2008-05-31 at the Wayback Machine
- phpMyAdmin docs for TCPDF
- A module for creating articles in Xoops
- Elxis TCPDF Module
- ImpressCMS 1.1 New Features Archived 2009-09-05 at the Wayback Machine
- JELIX changelog
- "TCPDF module for SugarCRM". Archived from the original on 2009-04-02. Retrieved 2009-07-22.
- TCPDF plugin for symfony
- TCPDF module for TYPO3 Archived 2011-07-23 at the Wayback Machine
- TCPDF module on vtiger
- TCPDF extension for Yii
- Announcing CMS Made Simple 1.4 "Jamaica" with TCPDF Archived 2009-04-22 at the Wayback Machine
- PDF print feature is available, DaDaBIK's blog post