TCPDF è una classe PHP open source (software libero) che consente di generare documenti PDF senza la necessità di utilizzare estensioni e librerie esterne.
Il progetto TCPDF è stato avviato nel 2002 da Nicola Asuni ed oggi conta milioni di utilizzatori in tutto il mondo.
TCPDF è già presente in diversi CMS ed applicazioni PHP (ad.es: Joomla, Drupal, Moodle, phpMyAdmin, TCExam, XOOPS, ...).
Nota: Il 3 aprile 2010, il progetto TCPDF è stato classificato in posizione 6 su oltre 200.000 progetti ospitati su SourceForge repository.
- non richiede librerie esterne per le funzionalità di base;
- tutti i formati standard di pagina, formati personalizzati, margini e varie unità di misura;
- UTF-8 Unicode e lingue Destra-Sinistra (RTL);
- font TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 e CID-0;
- font subsetting;
- compatibilità con codice XHTML + CSS, JavaScript e Form;
- immagini, grafica (figure geometriche) e metodi di trasformazione;
- supporto nativo per immagini JPEG, PNG e SVG, tutte le immagini supportate da GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) e tutte le immagini supportate da ImageMagick (http: www.imagemagick.org/www/formats.html)
- codici a barre 1D e 2D: 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 ECC200, codice QR, PDF417;
- Profili colore ICC, Grayscale, RGB, CMYK, colori Spot e trasparenze;
- gestione automatica delle intestazioni e piè di pagina;
- criptazione del PDF fino a 256 bit e certificati di firma digitali;
- transazioni per annullare i comandi;
- annotazioni PDF, inclusi i link, le note testuali ed i file allegati;
- modalità di rendering del testo (fill, stroke e clipping);
- modalità a colonne multiple;
- no-write page regions;
- segnalibri ed indici dei contenuti;
- allineamento del testo con sillabazione;
- spaziatura, dilatazione e compressione del testo;
- interruzione automatica di pagina e di linea, allineamento del testo inclusa la giustificazione;
- numerazione e raggruppamento automatico delle pagine;
- cancellazione e spostamento pagine;
- compressione pagine;
- modello XObject.
- supporto PDF/A-1b (ISO 19005-1:2005).
TCPDF è multipiattaforma e può essere eseguito senza modifiche su piattaforme Unix, Linux, FreeBSD, Windows, macOS, NetWare ed altri sistemi che supportano il linguaggio PHP.