iText was born on the world wide web. The first versions of the iText software, released between 2000 and 2008, could be downloaded and used for free within the boundaries defined in the MPL/LGPL open source license. This was an innovative business approach, generating revenue from Google AdSense advertisements on one hand, and royalties for the best-selling book "iText in Action" (2006), published by Manning on the other hand.
In 2007, it became clear that this revenue wasn't sufficient to ensure further development and support of the software. The first iText company was founded in 2008, 1T3XT BVBA, incorporated in Ghent, Belgium. All the IP of the software was transferred to this company, and in 2009, the license of the library was changed to the AGPL. Since that change, buying a commercial license is mandatory as soon as you develop activities involving the iText software without disclosing the source code of your own applications.
At this time, Andrew Binstock founded iText Software Corp. (ISC), the commercial licensing company for iText. The company was incorporated in California (Bay area), but has opened an office in Cambridge, Massachusetts in 2013. ISC is responsible for sales in the US, Canada and the Americas. The third iText company, iText Software BVBA (ISB) was founded in 2011. ISB is based in Ghent, Belgium, and is responsible for sales in the EMEA region (Europe, Middle-East and Africa). In 2015, we founded iText Software Asia Pte. Ltd. (ISA) in Singapore. ISA is responsible for sales in the APAC region (Asia / Pacific).
Our product is a technical component used by many other IT companies to enhance their products and projects with PDF functionality. A large part of our customers are technology vendors such as Oracle, HP, IBM, Microsoft, Symantec, but also integrators such as CSC, Cap Gemini, CGI, Atos, Northrop Grumman.
Overview:
iText is a PDF library that allows you to create, adapt, inspect and maintain
documents in the Portable Document Format (PDF).
Benefits:
iText is a PDF library that allows you to create, adapt, inspect and maintain documents in the Portable Document Format (PDF):
Generate documents and reports based on data from an XML file or a database
Create maps and books, exploiting numerous interactive features available in PDF
Add bookmarks, page numbers, watermarks, and other features to existing PDF documents
Split or concatenate pages from existing PDF files
Fill out interactive forms
Serve dynamically generated or manipulated PDF documents to a web browser
Legally binding digital signatures
Tagged PDF
iText is used by Java, .NET, Android and GAE developers to
enhance their applications with PDF functionality.
Features:
Create your PDFs If you look at PDF creation, you'll find that graphical designers
use desktop applications such as Adobe Acrobat or Adobe InDesign to create a
document in a manual or semi-manual process. iText is not such an end-user tool.
iText is used to create PDF documents programmatically. Developers write Java or
.NET code to produce PDFs directly from software applications, without—or with
minimal—human intervention. Sometimes the document is created in an intermediary
format first, and then converted to PDF.
Creating documents from scratch With iText's Document and PdfWriter class, you can create PDF
documents from scratch from a database, an XML file, or any other data source.
You can do this in three different ways:
Using high-level objects such as Chunk, Phrase, Paragraph,
List, and so on. These objects are often referred to as iText's basic
building blocks.
Using low-level functionality. This is done with
PdfContentByte, a class that consists of a series of methods that map to
every operator and operand available in Adobe's imaging model. This class
also has numerous convenience methods to draw arcs, circles, rectangles and
text at absolute positions.
Using PdfGraphics2D which is iText's implementation of the
abstract Graphics2D class in Java (not available in iTextSharp).
iText ships with an abundance of classes that support different
image types, color spaces, fonts, portable collections. There's functionality to
enhance the accessibility of the PDF file, to make sure the PDF is archivable,
and so on.
Fill out forms If you don't want to create PDF documents by writing code, you
can create an interactive PDF form either based on AcroForm technology (forms
produced using Adobe Acrobat, LibreOffice,...), or based on the XML Forms
Architecture aka XFA (forms produced using Adobe LiveCycle Designer, Avoka
Smartforms,...). You can then create new PDF documents by filling out these
forms, either preserving their interactivity or flattening them into static PDF
documents (XFA flattening requires XFA Worker).
Archive your documents iText offers the option to create your documents as archivable
PDFs (PDF/A) and accessible PDFs (PDF/UA). This involves introducing structure
and metadata.
Creating documents on Android There's a special version of iText built for Android and Google
App Engine. The port for Android also works on GAE provided that you avoid using
methods that depend on the file system. We have not removed them since they are
useful on an Android device, but it doesn't make sense to use them in the
context of Google App Engine.
Adapt your PDFs As already mentioned when talking about filling out forms, iText
can also manipulate existing PDF documents. Form filling is only one feature.
You can also use iText to split, merge, or superimpose PDFs. You can stamp
content on existing documents, add page numbers, watermarks, etc. As a rule,
PdfStamper is to be used when only one document is involved; PdfCopy and
PdfSmartCopy are to be used when there's more than one document.
Encrypt your documents If you want to secure your documents, you can encrypt them using
passwords (low security) or certificates (high security). Given the right
credentials, you can also use iText to decrypt secured PDFs.
Sign your documents If you want integrity or when authentication and non-repudation
are of importance, you may want to use iText to sign your documents. iText
supports the PAdES standards, including certifying signatures, approval
signatures, time-stamping, etc.
Maintain your PDFs iText is known to be used in different plug-ins for different
content management systems.
Manage your documents One could think of a document that starts as an XML file with
data, that is presented inside an XFA template to one or more end-users for
completion, that is then flattened to a PDF/A document, that finally needs to be
signed by different people. iText can be used in every step of this workflow.
Inspect your PDFs You can inspect a PDF document using iText's PdfReader class.
This class is also used in iText RUPS. You can ask a document for its number of
pages, for the fonts that are used, you can extract field values as well as
text.
Fix your PDFs If you combine PdfReader with PdfStamper, you can change the
internal structure of the PDF. For instance: you can change the URL of a link
annotation, you can change the page rotation to change a page in portrait to
landscape, you can crop a page, and so on.
Validate your signed PDFs You can also check if the integrity of a signed PDF was kept
intact and if the certificates are still valid. Using the LTV functionality, you
can extend the life of a signature.
Licensing:
An iText commercial licence provides advantages not available
with the open-source AGPL license. Specific benefits include:
Indemnification in the event of IP (intellectual property) or patent infringement
Release from the requirements of the copyleft AGPL license, which include:
distribution of all source code, including your own product (even for web-based applications)
licensing of your own product under the AGPL license
prominent mention and inclusion of the iText copyright and the AGPL license
disclosure of modifications
Release from the requirement to not change the PDF Producer line in the generated PDF properties
Only commercial licences have access to commercial iText support.
Maintenance:
95% of iText customers sign up for the iText updates and support
agreement, even if only to get the latest versions of the software and take
advantage of new functionality, bug fixes, etc. When extending the updates and
support agreement every year, you can rest assured that if you ever do have an
issue with iText, you'll have direct access to iText's support system and
developers.