The future of iText

At the end of my presentation at Zenika, I talked about the future of iText. What started as 5 ideas for 2011 are now 7 ideas. Some of those ideas involve months of development, others only involve a couple of weeks. These are the ideas I started with:

  • We need a better HTMLWorker
  • We should start working on XFA to PDF conversion
  • What about Digital Signatures: PAdES, timestamps,...?
  • I'd like an Eclipse plug-in for iText
  • Can we create an iText port for Android?

The idea was to have the priority of these ideas depend on the demand of the customers. We realize that some companies are "waiting" for the new functionality. 1T3XT BVBA is willing to invest in the development of these ideas, but we also need revenue.
Companies can help us by sponsoring one or more of the above projects. A project such as XFA to PDF conversion for instance would be very expensive for 1T3XT. iText Consultancy has already calculated the man hours and the total cost of such a project, and XFA2PDF isn't going to happen if we don't find a couple of companies that are willing to share the development cost. Or, if we do have to invest in this functionality ourselves, we'll probably keep it a closed source product that will be offered to our paying customers only. 1T3XT BVBA can't afford "giving away" software that is that expensive to develop.
Based on preliminary talks with prospective customers who are willing to play, we've added two more ideas to the list:

  • Better support for Accessibility (Tagged PDF / the upcoming PDF/UA standard)
  • GIS options (as defined in the upcoming ISO-32000-2 standard)

In any case, I've chosen for the HTMLWorker idea as the first priority. It was the part of iText that frustrated me most while I was written the second iText book. HTMLWorker works for very simple HTML, but we get plenty of remarks saying this tag or that style doesn't work. We often refer people to Flying Saucer (a tool that is built on top of iText), but the version of iText that is used in Flying Saucer is mighty old. Having a tool that can render HTML using the new iText would great.
HTMLWorker
We're creating this tool in two phases:

Phase 1: Support for straight forward HTML
  • Target release: iText 5.1 (April 2011)
  • We want to support HTML generated with CKEditor and TinyMCE.
  • We want to support “Rich Text” as defined in XFA and PDF specs.
  • No URL to PDF conversion yet! (because there is no support for absolute positioning yet)
Phase 2: Complete support for HTML
  • Full blown HTML to PDF conversion
  • Try to show the PDF in Adobe Reader so that it looks exactly like the HTML in a browser.

We've been developping this tool in a private SVN repository. We think we'll distribute a first version of the new HTMLWorker to the paying customers in the next couple of weeks. We hope some customers will already start testing it, and we hope we can release the functionality early in April.
XFA to PDF
HTMLWorker will be based on a new class XMLWorker. As XFA is the XML Forms Architecture, we can also use this new XMLWorker as a solid basis for an XFAWorker (with Adobe’s “Rich Text”, we’re already implementing a small part of the XFA specification). However: the XFA spec is huge, and we'll give priority to a paid project first.
Digital Signatures
We need broader support for PAdES, but before we start, we probably need to reorganize the code to add digital signatures in general. It would be interesting to write new documentation and offer new examples (actually, we've received a very interesting example on the mailing list recently). My main problem is that encryption/digital signatures aren't my cup of tea. Writing that chapter for "iText in Action" was difficult. I think I managed, but I depend on others to help me with this.
Eclipse Plugin
I'm using RUPS, the tool that allows you to look inside a PDF, almost on a daily basis, but I'd like to integrate this into Eclipse, and I'd like to offer other functionality in Eclipse. For instance a combination of an HTML editor and HTMLWorker (save HTML as PDF). I fear that we won't find sponsors for this, so this will probably be a hobby project. Once it's there, we'll probably be able to "sell" extended features.
iText for Android
This was the first "idea for 2011" I started to develop in December 2010. See first prototype. It works, but I didn't release the code yet, because we actually need more:

  1. A version for phones: a much lighter version of iText than we have now; maybe build from scratch, maybe accompanied by a version in Objective C for the iPhone...
  2. A version for tablet PC: a more feature rich iText version for use on Tablet PCs. I think the version I have now would do, but I don't own a tablet PC yet. The challenge here would be to think of useful applications.

I was warned not to publish these ideas, because it creates expectations. Somebody looking for XFA2PDF functionality might find this page and send a mail to the mailing list: "I've read a blog post announcing a XFA2PDF tool and I wonder if it's already finished." There's a risk that this will happen, but that's not the way it works. The goal of this blog post is to inform (for instance about HTMLWorker), but also to call to action: if your company needs one of the above tools, please talk to your management and if we find sufficient companies to share the costs, we can start building the functionality you need!

Comments

Mashups

It would also be nice if we could make some Mashups.

iText SaaS services

Another idea could be to offer PDF services.
You have Drupal and Drupal Gardens. You could have iText (for those who want to develop) and iTextSaaS (for those who need a simple service and want to avoid having to write any iText code).

flying saucer

I've noticed in the flying saucer project that they have a branch with iText 5.x support.