iText 5.4.3 — XML Worker 5.4.3

Tags: Release

We're releasing iText 5.4.3 and as promised, we've been working on PAdES-5 and PDF/A. We already supported signing XFA forms using XML-DSig, now we also have support for signing using XAdES (which is required to meet the PAdES-5 standard). For the moment, only BES is supported (EPES will follow). As for PDF/A, iText will now make sure you can create documents that are fully compliant with PDF/A-1. That was already possible in the past, but iText didn't check if all the requirements for compliance were met, that was the responsibility of the developer. With the new release all these checks are done by iText.

In the next couple of releases, we'll continue working on PDF/A, more specifically on PDF/A-2 and PDF/A-3. Again, this doesn't mean, we don't support PDF/A-3 yet, as a matter of fact, iText is ready for the German ZUGFeRD standard, see How to create PDF/A-3 using iText (or XML-Rechnung ZUGFeRD-konform in PDF/A-3 einbetten mit iText if you prefer reading the text in German).

We switched from using BouncyCastle 1.48 to using BouncyCastle 1.49. We added some new functionality that allows you to reuse the existing signature appearance when signing a document, and to change the text for "location" and "reason" in the default appearance of a signature. We added a constructor to PdfReader that makes it easier to work in partial read mode. The parser functionality can now also detect gray scale, RGB and CMYK colors (no indexed colors yet). We received a contribution from Deutsche Bahn introducing new rowspan functionality and a new table event that gets triggered after a table is split.

We also removed some stuff, such as the _LANDSCAPE constants in the PageSize class and the /ProcSet entry in the page resources.

We discovered that:

  • the replacePushbutton() method didn't work in append mode,

  • a PdfDictionary didn't know its type when the dictionary was obtained from an existing PDF,

  • a PDF that uses ETSI extensions didn't add those extensions to its root dictionary,

  • it was possible to create a check box that didn't comply with ISO-32000-1,

We've fixed all these issues, as well as the following bugs:

  • PdfSmartCopy had some problems that were introduced in an attempt to improve the performance of the concatenating process in one of the previous releases.

  • the getCheckField() method in RadioCheckField returned a constant value instead of the actual value.

  • The Base64 encoded timestamp information needs to be a single line, and in our case, the signature was broken up into several lines.

That's more or less what's new in iText 5.4.3.

XML Worker 5.4.3 only brings some minor changes: the SVG package was removed (it never worked and we didn't find any code contributors to help us fix it) and we fixed a problem with tables that caused an ArrayIndexOutOfBoundsException. As for RUPS: it was released because we finally fixed the problem with pages not showing up in the pages table.