iText®, a JAVA PDF library / News: Recent posts

Release of iText 5.5.0

The new functionality added to iText in the iText 5.4.x versions has been very popular. Thanks to this popularity, we have received a good number of bug reports. We have fixed a number of accessibility issues and we have fixed a couple of problems with the new PdfCopy features.
You will also want to check out the new features that were added to iText RUPS. It is now possible to tweak a PDF by changing entries in dictionaries. In future versions, we will add some more functionality that allows you to update an existing PDF.... read more

Posted by Hilde Goossens 2014-02-17

New release 5.4.5 completes support for PDF/A

In our new release of iText 5.4.5, we have completed support for PDF/A, more specifically PDF/A-2 and PDF/A-3. XAdES-EPES support has also been added. At the same time, some other PDF/UA-related issues were fixed, also in iText RUPS, our tool to look inside a PDF.

Other improvements include the parsing functionality and an extra digital signatures feature that allows you to add information about the application that signed the PDF to the signature dictionary.... read more

Posted by Hilde Goossens 2013-12-05 Labels: PDF/A Xades-EPES digital signatures

iText 5.4.4

iText 5.4.4 introduces functionality that was long awaited: PdfCopy is finally able to merge AcroForm-based interactive PDFs. This is a huge step forward for people who want to merge accessible forms, preserving the accessibility.
At the same time, we deprecated the PdfCopyFields class. As opposed to PdfCopy, this class allowed you to merge forms, but this didn't result in a tagged PDF: all structure was lost.
As always, we've been fixing a number of bugs, or rather: we've improved iText so that (1) it now deals with some image types that previously weren't supported, and (2) when confronted with an invalid PDF, we try throwing a meaningful error instead of an ordinary NullPointerException.... read more

Posted by Hilde Goossens 2013-09-26 Labels: iText PDF

iText 5.3.3

In the previous post (about iText 5.3.0), we announced a major change in the digital signatures API. This change is almost completed. A 140-page white paper has been written explaining the different concepts involved in digital signatures. During the writing process, new functionality was created, several bugs were fixed and convenience methods were added. The result is iText 5.3.3.... read more

Posted by Bruno Lowagie 2012-09-22

iText 5.3.0

A while ago, the Bouncy Castle Crypto API was upgraded from 1.46 to 1.47. This upgrade was a major one: we had to change all the code related to digital signatures. While we were at it, we decided to completely re-engineer the way iText digitally signs a PDF document. All signing code has been moved to a separate security package. We removed all the traditional ways of signing (some of which will be deprecated as soon as the PDF 2.0 specification is released) in favor of detached signatures, both CMS as well as CADES style. In other words: on top of support for PAdES 2 and 4, we now also support PAdES 3. Signing a message digest outside iText (for instance using a smart card) is now a no-brainer thanks to the ExternalSignature interface. As a result, you'll have to change your code in case you're using the digital signature functionality. You'll discover that the new interface is much more straight-forward and easier to use.... read more

Posted by Bruno Lowagie 2012-06-20

iText 5.2.0

We received plenty of feedback regarding PDF parsing, and we've taken into account almost all the issues that were reported. This means that PDF to text conversion with iText has now improved dramatically. Soon the Belgian IRS will start using iText to parse thousands of documents looking for a national number on the first page. We're using different strategies to do this: we parse the text at a specific position if we know it; or we parse the whole page looking for a pattern if the number can be anywhere on the page. We've also improved the parsing of PDF documents in languages such as Chinese, Korean, Japanese,... ... read more

Posted by Bruno Lowagie 2012-02-29

iText 5.1.3

We've published a new release of iText, a free/open source Java-PDF library. It's right in time to be presented at Devoxx, the biggest Java conference in Europe where iText Software has a booth.
iText 5.1.3 brings the long awaited support for PAdES-LTV. Examples on how to use this functionality that will be part of the upcoming PDF-2 standard will be following soon.
We've also improved the code for parsing PDFs for images. It can now be done using much less code than before. We've added support for JavaScript when parsing bookmarks to XML (or vice-versa) and some convenience methods to ColumnText.
Furthermore, we've fixed plenty of bugs that were reported since the previous release, for instance a bug that garbled the output when parsing PDFs with fonts using a ToUnicodeMap, an issue with page numbers that were shown even when the page label should have been empty, and so on.
Finally, we've made iText more tolerant towards PDFs that weren't created correctly. For instance a PDF with a binary zero in the Producer name, or PDFs where the /Outlines dictionary isn't an indirect reference.

Posted by Bruno Lowagie 2011-11-11

iText 5.1.2

iText is a F/OSS library that allows you to create and manipulate PDF documents. In this release, we've added functionality that allows you to completely remove an optional content layer (OCG). iText 5.1.2 is mainly a maintenance release that fixes a series of bugs and that allows us to release the new version of XML Worker that depends on iText.
All the bugs that were reported on the mailing list since the previous release (June 8) were fixed: the algorithm to find startxref was made more memory efficient; the height of the Image wasn't taken into account when creating a PdfPCell with an Image (this is a bug that was introduced in iText 5.1.1); fixed a problem when an XFA stream didn't contain a datasets node; fixed a bug in the signature validation process; fixed a bug where iText introduced the namespace prefix "xmp" when "xap" was expected; and so on.... read more

Posted by Bruno Lowagie 2011-08-15

iText 5.1.1

We're releasing iText 5.1.1 about one month after the 5.1.0 because we've introduced some functionality that was needed in XML Worker 1.0.0: for instance the introduction of high level interfaces (Indentable, Spaceable) and the introduction of a WritableDirectElement class.
We've changed the logging that was introduced in 5.1.0 so that it works the same way other logging frameworks do. We've provided a simple System.out logger: SysoLogger.
We've also released some bug fixes to solve PDF reading and parsing problems, to solve problems with list symbols, to avoid ClassCastExceptions when reading/manipulating existing OCG layers.
Please be aware of two API changes: setMoreInfo now expects a Map instead of a HashMap (this shouldn't cause any problems, but you'll need to recompile your code); the default for setUseAscender and setUseDescender in PdfPCell has changed to true (which may cause your tables to look slightly different).

Posted by Bruno Lowagie 2011-06-08

iText 5.0.6 released

The most substantial changes are in the HTMLWorker functionality. Some new features were added, but most of all: the code has been rewritten to make it easier to extend. This will allow us to support more tags and styles soon (in iText 5.1.0).

We also have a new core developer, Balder Van Camp, who is screening the code, optimizing performance and reducing the memory use. He has also moved the resources (such as font metrics) from the source code directories into a separate folder. More code reorganizations will follow in iText 5.1.0.... read more

Posted by Bruno Lowagie 2011-02-04

iText in Action 2E + iText 5.0.2

I'm revising the final manuscript of "iText in Action - 2nd Edition", written for Manning Publications Co . Normally, the final review by external reviewers should start next week. (Let me know if you want to be one of the external reviewers.)

The examples that come with the book contain new functionality, so it was time to make a new release: iText 5.0.2.

Chapter 15 of the book has several examples about parsing PDF. That means we've more or less finalized the API for text extracting. I've also written some experimental code to convert a Tagged PDF document into an XML file, to extract images from a PDF, and to find the text boundaries in an existing PDF.... read more

Posted by Bruno Lowagie 2010-04-13

iText 2.1.6 released

iText is the #1 Java-PDF library in the F/OSS world: it's the PDF engine under the hood of JasperReports, Eclipse/BIRT, jBoss/SEAM, and many other tools. Yesterday iText 2.1.6 was released, an important milestone in the history of iText, because it's the last release before a license change.

iText was originally released under the LGPL: the Lesser (or Library) GNU Public License. In the year 2002 however, we had been receiving mail from different legal departments of companies, explaining some quirks in the LGPL that (at that time) prevented the use of iText by those companies. After a long discussion, we decided to move from LGPL to MPL, but to keep the LGPL for backward compatibility. That was seven years ago, and the LGPL is still there; even though the FSF no longer recommends the use of the LGPL.
Don't worry: we're keeping the MPL; so for those companies using iText under the MPL, nothing will change, but we want to replace the LGPL by something better. We realize that we can't just "remove" the LGPL. Several companies have been ignoring our advice to use iText as an MPL library; instead they have been using iText under the LGPL. The main reason was probably because they needed a license that is GPL compatible: in other words: they can't use iText under the MPL because of license incompatibilities. That's why we're not "throwing away" the alternative license, instead we'll be upgrading from the LGPL to the AGPL. The AGPL is compatible with GPLv3, so that should solve most of the compatibility problems. iText 2.1.6 is the final release as an MPL/LGPL library; the next release will be MPL/AGPL.... read more

Posted by Bruno Lowagie 2009-06-17

iText 2.1.5 released

iText is probably the most used Java library to create and manipulate PDF. Last year some new developers joined the team and this resulted in a new release with a huge changelog:

Although users probably won't notice a lot of changes in the API, they'll find out that iText now needs less memory and CPU. That's because iText is getting a makeover with plenty of internal optimizations.... read more

Posted by Bruno Lowagie 2009-03-08

iText 2.1.3 released

iText is a Java library used as PDF engine in popular Frameworks such as Spring, jBoss SEAM, JasperReports, and many others. It's the de facto standard library if you are looking for PDF creation and manipulation.

The 2.1.3 release fixes most of the issues reported on the mailing list in the past few months.
As far as new functionality is concerned, this release brings an HTML related code contribution by Lubos Strapko, plenty of new RTF stuff by Howard Shank, and some new features that were asked for on the mailing list and that were implemented by Bruno 'doctor iText' Lowagie ;-)

Posted by Bruno Lowagie 2008-07-12

iText: 2.1.2u released

This library contains classes that generate documents in the Portable Document Format (PDF) and/or HTML.

Some releases are simple. You have some bug fixes, you have some new functionality. And when you think there's sufficient new stuff to release, you just go ahead and make the release. That's how it has always been with iText. I admit it's not very organized, but... it works.

I've tried making an 'official TODO list' once, but apart from some major TODOs that would take weeks of work (for instance XFA support), development is mostly user driven. People post questions on the mailing list. If the functionality that is asked for isn't available yet and it's within our reach (not more than a few days work), we add it. That's how iText grows. ... read more

Posted by Bruno Lowagie 2008-05-19

iText 2.1.0 released

The 2.1 release of iText, a Free / Open Source Java-PDF library was announced for the end of February, but unfortunately the original developer and one of the current maintainers of the project received some very bad news: his son was diagnosed with cancer. This seriously compromised (and still compromises) some of the plans for iText. The treatment will take at least 30 weeks; let's hope everything turns out well.
The most important change in iText 2.1.0 is the fact that iText is now split into different jars:... read more

Posted by Bruno Lowagie 2008-03-27

iText: 2.0.8 released

This library contains classes that generate documents in the Portable Document Format (PDF) and/or HTML.

Whenever people think of PDF and Java, they think of iText. That's great, but it also involves a lot of responsibility: we have to keep on working on the product; fixing bugs, adding new functionality, making it a better product.

The first thing that jumps in the eye with this new release, is the reorganization of the source code. Whereas in the past all the source code was in one com.lowagie.* tree right under src, we now have subdirectories core, rtf and rups. There's also a test directory with different subdirectories containing series of code for testing with JUnit.... read more

Posted by Bruno Lowagie 2008-01-25

iText 2.0.7 released

Nine and a half months after the 2.0.0 release, we are almost ready for iText 2.1. This 2.0.7 release brings numerous extra fixes, but also plenty of code and javadoc ameliorations. The ANT scripts now have junit and jdiff targets and the iText.jar is now signed with a CAcert certificate.
The next release will be iText 2.0.8, and then we'll be ready to jump to iText 2.1 (a release that will come with some very interesting new tools).

Posted by Bruno Lowagie 2007-11-28

iText, a JAVA-PDF library: 2.0.6 released

This library contains classes that generate documents in the Portable Document Format (PDF) and/or HTML.

Apart from support for JPEG2000 (both jp2 and j2k) and support for base64 encoded images in XFA forms, this release doesn't bring any new functionality.

Nevertheless, iText 2.0.6 is a very important release, as it fixes some bugs that were introduced in the previous release. One specific indentation bug was overlooked in iText 2.0.5, some broken RTF functionality has now been repaired, problems were fixed in PdfNameTree, PdfReader/PdfStamper, and so on.

Posted by Bruno Lowagie 2007-10-05

iText 2.0.5 released

Talk about PDF and Java (or PDF and C#), and people instantaneously think of iText (or or its .NET port iTextSharp). iText is a very active project, yet there hadn't been a 2.0.x release since June 4. That's over 3 months ago! What happened? We had the last 1.x.y release (1.5.3) in August, but why wait that long to release iText 2.0.5? Does this mean we didn't work on any new functionality? Certainly not.... read more

Posted by Bruno Lowagie 2007-09-09

iText 1.5.3 released for use with Eclipse/BIRT

In 2006 IBM and the Eclipse Foundation published the Callisto Simultaneous Release, meaning that ten major Eclipse projects were released at the same time.

One of those ten projects was Eclipse/BIRT, the Business Intelligence & Reporting Tools project led by Actuate. Eclipse/BIRT uses iText, but at the time of the Callisto Simultaneous Release, it was not clear to the Eclipse Foundation who was the owner of the IP of iText. Therefore iText had to be downloaded separately.
If iText were to be released with the Europa Simultaneous Release in 2007, somebody needed to make the IP inventory of iText.... read more

Posted by Bruno Lowagie 2007-08-07

iText 2.0.4: moved from CVS to SVN

Version 2.0.4 of iText, your favorite Java-PDF library, has been released. The big news is: we have finally made the switch from CVS to SVN on SourceForge. Many thanks to Xavier for a job well done! The documentation has been updated:
Please read the new doc pages carefully, because part of the directory structure of the project has been reorganized.

iText 2.0.4 also brings some bugfixes and minor enhancements, but the major changes happened in iText 2.0.3, the 'silent' release published less than two weeks ago. (We kept it silent because we knew the next release would be following very soon.)... read more

Posted by Bruno Lowagie 2007-06-04

Ten Open Source Solutions Your Enterprise Should Be Using

In an article at sys-con, iText is listed as one of the 10 Open Source solutions your enterprise should be using. With Hibernate, Spring, JUnit,... as other projects, it's in very good company. Read all about it here:

Posted by Bruno Lowagie 2007-05-07

iText 2.0.2 + JavaPolis talk

Today a new release of iText, a free/open source Java-PDF library, was published on SourceForge: iText 2.0.2.
This release mainly brings bugfixes and ameliorations; for instance: all source files are now in ASCII (to avoid encoding problems while compiling the code on different systems).
New features are support for DataMatrix barcodes and some convenience methods that makes PDF document manipulation and inspection easier for tool builders (iText is a PDF engine, not an end-user tool).
New documentation was added to the iText Wiki: and if you want to hear Bruno and Paulo, the core developers of iText, talk about the examples on the Wiki, you can have a look at their JavaPolis presentation:

Posted by Bruno Lowagie 2007-04-13

iText 2.0.1 released + interview

We promised shorter release cycles to tackle problems with the major release of iText 2 less than three weeks ago, and now we are keeping our promise.
In today's release (iText 2.0.1), we have fixed some issues with new functionality introduced in iText 2. This involved bug fixes, as well as code clean up and the removal of debugging code.
There was also a lot of activity on the RTF package (welcome back, Mark!) and on the PDF front some new functionality was added concerning usage rights, encryption and digital signatures.
The general refactoring operations are still ongoing, so you can expect release 2.0.2 pretty soon.
For those interested to see Bruno Lowagie (me) in action, the JavaPolis interview with Ted Neward is online:

Posted by Bruno Lowagie 2007-03-07