iText 5.3.3 — XML Worker 1.2.0

Tags: Release

The technical roadmap for 2012 consisted of 4 goals:

  1. Digital Signatures— Make iText ready for PAdES and PDF 2.0: done!

  2. XML Forms Architecture— Add support to flatten dynamic forms created by Adobe LiveCycle: done!

  3. Android— Make an Android port of iText that is better than the (barely legal) ports created by third parties: done!

  4. Cloud— Make iText "Cloud-ready": done! (Some of our customers are using iText on GAE.)

Goal number 3 and goal number 4 were already presented at the iText Developer Summit in March.

Let's see what happened to topics 1 and 2:

Digital Signatures

My white paper about PDF and digital signatures is almost completed. To make the examples more programmer-friendly, I added some convenience classes and methods to iText's signature API. I want to distribute a 3/3 draft next week, and that's why I needed to release iText 5.3.3: I've made some changes to the FieldMDP functionality, Paulo implemented verification for CAdES signatures, I fixed an issue when verifying a Document-level timestamp, I've added some getters that make it easier to get info from a signed PDF, I've added a class that can tell you more about the permissions enforced by a signature, and so on... A 3/3 version of a manuscript is an 'almost final' draft. It means that all the chapters are there, but I may still add an extra example here or there. Apart from that, I've listed seven extra TODOs that weren't on the initial roadmap. Two don't involve changing iText —it's just a couple of ideas I had during the writing process—, two involve changes I may implement for iText 5.3.4 —they may be added as an appendix to the white paper—, and finally three major TODOs that will be added to the technical roadmap for 2013. Next week, the almost final draft will be distributed, and I'm giving myself a couple of weeks to work on the feedback: corrections, suggestions, remarks,... sent to me by readers. So as far as goal 1 is concerned: mission accomplished!

XML Forms Architecture (XFA)

We've released SNAPSHOT versions of XFA Worker to selected customers and prospects. We've received plenty of feedback, and XFA Worker is now used in a production environment at one of our customers.
When we first announced this project, several companies showed their interest. Some bought an iText license, counting on us meeting our goal; others actively invested in the project. However: there were also companies that said: We won't pay you, we'll wait until you publish the project on SourceForge. As explained yesterday, these companies don't play it fair. That's why we'll keep the source code of XFA Worker closed. We'll release a ZIP file with the necessary jars next week, but you'll need a license key to use them. We'll distribute Trial Licenses that allow you to use these jars for testing purposes for 30 days.
For us to make it possible to release XFA Worker, I needed to release XML Worker 1.2.0. There aren't many changes with respect to XML Worker 1.1.6, but the changes are needed for the first more or less 'public' release of XFA Worker 1.2.0.

With the new digital signature functionality and XFA Worker, many companies will be able to replace their Adobe LiveCycle Server instance. We don't cover the full spectrum of the Adobe LiveCycle ES, but we've focused on the functionality companies need the most, especially now that Adobe is scaling back its efforts to support LiveCycle.

In iText 5.3.3, we've also fixed some bugs in PdfReader, PdfAWriter, JPEG and TIFF handling, etc...; Michaël and I have added some new functionality to PdfPTable; and Kevin Day has started adding some methods that give you more fine-grained information when parsing PDF.

You can find the complete changelog on