iText is a library that allows you to generate PDF files on the fly.
The most recent version is iText 5.0.1.
You can DOWNLOAD IT HERE.
iText is a library that allows you to generate PDF files on the fly.
iText is an ideal library for developers looking to enhance web- and other applications with dynamic PDF document generation and/or manipulation. iText is not an end-user tool. Typically you won't use it on your Desktop as you would use Acrobat or any other PDF application. Rather, you'll build iText into your own applications so that you can automate the PDF creation and manipulation process. For instance in one or more of the following situations:
- Due to time or size, the PDF documents can't be produced manually.
- The content of the document must be calculated or based on user input.
- The content needs to be customized or personalized.
- The PDF content needs to be served in a web environment.
- Documents are to be created in "batch process" mode.
You can use iText to:
- Serve PDF to a browser
- Generate dynamic documents from XML files or databases
- Use PDF's many interactive features
- Add bookmarks, page numbers, watermarks, etc.
- Split, concatenate, and manipulate PDF pages
- Automate filling out of PDF forms
- Add digital signatures to a PDF file
- And much more...
In short: the iText classes are very useful for people who need to generate read-only, platform independent documents containing text, lists, tables and images; or who want to perform specific manipulations on existing PDF documents. The library is especially useful in combination with Java(TM) technology-based Servlets; there's also a .NET port available: iTextSharp (written in C#).
iText requires Java 5. It's available for free under the GNU Affero General Public License (see the Terms of Use).
If you want to use the iText classes you should be
acquainted with JAVA (TM) programming.
You'll also need the following Software:
- The Java Development Kit (JDK) 1.5 (or any later version) from Sun Microsystems Incorporated.
- The BouncyCastle: bcprov, bcmail, and bctsp
A good place to start learning how to use iText is the book iText in Action - 2nd Edition.
back to main page- Changes made by Paulo
- DocumentFont: If the differences array replaced a high unicode value with a low unicode value the new value wouldn't be used (Gavin Disney).
- PdfReader: The ASCII85 decoding was made more lenient toward errors.
- BidiLine: The split position was changed to include the split char in the same line and not on the next line except if it's a whitespace.
- PdfChunk: The default split char also includes a hyphen and spaces from \u2000 range.
- Added an high level call to set the transparency blending to RGB: PdfWriter.setRgbTransparencyBlending(boolean rgbTransparencyBlending);
- PdfGraphics2D: On Mac OS, with Aqua L&F, the fonts do not scale (Gabriel Erzse). This problem does not appear on Windows, and also does not appear on Mac OS if you use other L&F, for example Metal.
- PdfGraphics2D: Hyperlinks are also supported with images.
- PdfGraphics2D: Bugfix involving line thickness, reported by Christoph Wagner on the mailing list. The suggested bugfix was corrected by Paulo.
- PdfWriter: Stamping imported pages didn't work.
- AcroFields: The VISIBLE_BUT_DOES_NOT_PRINT flag was not being set in some cases when duplicating a field.
- HTMLWorker: he 'pre' tag didn't create a Paragraph with the right attributes.
- Changes made by Howard
- Wrote and uploaded complete new RTF code that allows you to parse RTF files. Although this is only one line in the history file, this consistes of a lot of code! Note that Mark, Paulo and Bruno suggested minor changes, but as they are core contributors, they are not mentioned in the acknowledgments of these classes. Credit for the new classes goes to Howard who is now also on the list of core contributors.
- Changes made by Mark
- Finally deleted the old RtfWriter and all its helper classes.
- Removed all deprecated methods that were slated for removal at 2.1.0 from the RTF package.
- RTF: Updated the remaining methods that created an intermediary ByteArrayOutputStream to also directly write to an OutputStream.
- Fully switched the RTF parsing code over to the new rtf.parser.RtfParser and removed the old parsing code.
- Moved the com.lowagie.text.rtf package (and all its children) into the src/rtf tree from src/core.
- Fixed an issue caused by the chunk optimisation code in Phrase. RtfFonts were getting lost, because they did not provide an RtfFont specific compareTo method.
- Changes made by Xavier
- code cleanup based on pmd output (several classes)
- added @since tags (several classes)
- svn:keywords properties for all java and xml files
- ant tasks cleanup: delete renamed clean, useless exludes remove
- examples relying on rtf classes moved to test.rtf ant target
- use ${itext.jdk.rups} for javadoc tasks as rups requires 1.5+
- Changes made by Bruno
- Removal of the RUPS Utilities class
- Removal of the methods scheduled for removal at 2.0.1
- Update of the ANT files for making the release
- PNGs were not included in the archives (RUPS icons)
- getElement has been made public again (there was a question about it on the mailing list)
- HTMLWorker: Ernest Micklei posted a few lines on the mailing list about handling "px". I think his patch wasn't correct, and provided an alternative for dealing with px.
- PdfPCell: Extra constructor as suggested by Bruno Waes (mailing list january 25, 2008)
- Solution for the problem of iText core jar depending on the RTF jar.
- New pages explaining the copyright (this involved some minor extra clarifications in the source code)
- API and history are now hosted on 1t3xt sites.
