TCPDF
Encyclopedia
TCPDF is a free and open source software
PHP
class for generating PDF
documents. TCPDF is currently the only PHP-based library that includes complete support for UTF-8
Unicode
and right-to-left languages, including the bidirectional algorithm.
License is LGPLv3 with additional statement which disallows removal of TCPDF link or logo from generated PDF documents.
TCPDF is one of the most active of over 200,000 projects hosted on the SourceForge repository
(best ranked 6th on 3 April 2010).
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,
Drupal
,
Moodle
,
phpMyAdmin
,
TCExam
,
Xoops
,
Elxis CMS,
ImpressCMS
,
JELIX Frameweork PHP5,
SugarCRM
,
Symfony
,
TYPO3
,
Vtiger CRM,
Yii Framework,
CMS Made Simple
and many others.
The TCPDF class was originally derived in 2002 from the public domain
FPDF class by Olivier Plathey but now has been almost entirely rewritten and hundreds of new features added.
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
class for generating PDF
Portable Document Format
Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....
documents. TCPDF is currently the only PHP-based library that includes complete support for UTF-8
UTF-8
UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...
Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
and right-to-left languages, including the bidirectional algorithm.
License is LGPLv3 with additional statement which disallows removal of TCPDF link or logo from generated PDF documents.
TCPDF is one of the most active of over 200,000 projects hosted on the SourceForge repository
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...
(best ranked 6th on 3 April 2010).
TCPDF is also one of the most used PHP libraries in the world, due to it being already included in the most popular PHP
PHP
PHP is a general-purpose server-side scripting language originally designed for web development to produce dynamic web pages. For this purpose, PHP code is embedded into the HTML source document and interpreted by a web server with a PHP processor module, which generates the web page document...
-based CMS
Content management system
A content management system is a system providing a collection of procedures used to manage work flow in a collaborative environment. These procedures can be manual or computer-based...
and applications, including:
Joomla,
Drupal
Drupal
Drupal is a free and open-source content management system and content management framework written in PHP and distributed under the GNU General Public License. It is used as a back-end system for at least 1.5% of all websites worldwide ranging from personal blogs to corporate, political, and...
,
Moodle
Moodle
Moodle is a free source e-learning software platform, also known as a Course Management System, Learning Management System, or Virtual Learning Environment...
,
phpMyAdmin
PhpMyAdmin
phpMyAdmin is an open source tool written in PHP intended to handle the administration of MySQL with the use of a Web browser. It can perform various tasks such as creating, modifying or deleting databases, tables, fields or rows; executing SQL statements; or managing users and...
,
TCExam
TCExam
TCExam is a free source Computer-Based Assessment software system for electronic exams that enables educators and trainers to author, schedule, deliver, and report on quizzes, tests and exams...
,
Xoops
XOOPS
XOOPS is a free open source content management systems , written in PHP. It uses a modular architecture allowing users to customize, update and theme their websites. XOOPS is released under the terms of the GNU General Public License and is free to use, modify and redistribute.-Overview:XOOPS is...
,
Elxis CMS,
ImpressCMS
ImpressCMS
ImpressCMS is an open source content management system for building and maintaining dynamic web sites, written in the PHP programming language and using a MySQL database. The product is released under the GNU General Public License.-History:...
,
JELIX Frameweork PHP5,
SugarCRM
SugarCRM
SugarCRM is a software company based in Cupertino, California. They produce the web application Sugar, also known as SugarCRM, which is a customer relationship management system that is available in both open source and Commercial open source applications.Sugar's functionality includes sales-force...
,
Symfony
Symfony
Symfony is a web application framework written in PHP which follows the model-view-controller paradigm. Released under the MIT license, Symfony is free software...
,
TYPO3
TYPO3
TYPO3 is a free and open source web content management framework. It is released under the GNU General Public License. It can run on several web servers, such as Apache or IIS, on top of many operating systems, among them Linux, Microsoft Windows, FreeBSD, Mac OS X and OS/2.-History:TYPO3 was...
,
Vtiger CRM,
Yii Framework,
CMS Made Simple
and many others.
The TCPDF class was originally derived in 2002 from the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...
FPDF class by Olivier Plathey but now has been almost entirely rewritten and hundreds of new features added.
Features
- no external libraries are required for the basic functions;
- all standard page formats, custom page formats, custom margins and units of measure;
- UTF-8UTF-8UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...
UnicodeUnicodeUnicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...
and right-to-left languages; - TrueTypeUnicode, OpenTypeUnicode, TrueTypeTrueTypeTrueType is an outline font standard originally developed by Apple Computer in the late 1980s as a competitor to Adobe's Type 1 fonts used in PostScript...
, OpenTypeOpenTypeOpenType is a format for scalable computer fonts. It was built on its predecessor TrueType, retaining TrueType's basic structure and adding many intricate data structures for prescribing typographic behavior...
, Type1 and CID-0 fonts; - font subsetting;
- methods to publish some XHTMLXHTMLXHTML is a family of XML markup languages that mirror or extend versions of the widely-used Hypertext Markup Language , the language in which web pages are written....
+ CSSCSS-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...
code, JavaScriptJavaScriptJavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
and Forms; - images, graphic (geometric figures) and transformation methods;
- supports JPEGJPEGIn computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....
, PNG and SVGScalable Vector GraphicsScalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...
images natively, all images supported by GD Graphics LibraryGD Graphics LibraryThe GD Graphics Library is a graphics software library by Thomas Boutell and others for dynamically manipulating images. Its native programming language is ANSI C, but it has interfaces for many other programming languages. It can create GIFs, JPEGs, PNGs, and WBMPs...
and all images supported via ImageMagickImageMagickImageMagick is an open source software suite for displaying, converting, and editing raster image files. It can read and write over 100 image file formats. ImageMagick is licensed under the Apache 2.0 license.- Features and capabilities:...
. - 1D and 2D barcodeBarcodeA barcode is an optical machine-readable representation of data, which shows data about the object to which it attaches. Originally barcodes represented data by varying the widths and spacings of parallel lines, and may be referred to as linear or 1 dimensional . Later they evolved into rectangles,...
s: 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, QRcode, PDF417PDF417PDF417 is a stacked linear barcode symbol format used in a variety of applications, primarily transport, identification cards, and inventory management. PDF stands for Portable Data File. The 417 signifies that each pattern in the code consists of 4 bars and spaces, and that each pattern is 17...
; - ICC profileICC profileIn color management, an ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the International Color Consortium...
s, GrayscaleGrayscaleIn photography and computing, a grayscale or greyscale digital image is an image in which the value of each pixel is a single sample, that is, it carries only intensity information...
, RGBRGB color modelThe RGB color model is an additive color model in which red, green, and blue light is added together in various ways to reproduce a broad array of colors...
, CMYKCMYK color modelThe CMYK color model is a subtractive color model, used in color printing, and is also used to describe the printing process itself. CMYK refers to the four inks used in some color printing: cyan, magenta, yellow, and key...
, 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 hyperlinkHyperlinkIn computing, a hyperlink is a reference to data that the reader can directly follow, or that is followed automatically. A hyperlink points to a whole document or to a specific element within a document. Hypertext is text with hyperlinks...
s, 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.