Release date: Oct 25, 2023
Just in time for Halloween, here’s a new release of your favorite open-source PDF library for Java and .NET. There’s nothing spooky about: iText Core version 8.0.2 and the updated iText Suite add-ons in this release though! Let’s take a closer look.
The a ("Accessibility"), u ("Unicode") and b ("Basic") conformance levels in earlier variants of PDF/A have been replaced by two new profiles: e and f. The PDF/UA format now exists for Universal Accessibility, and Unicode is now a requirement in PDF/A-4 for text encoding rather than a specific conformance level. Therefore, the base PDF/A-4 specification replaces the b and u conformance levels.
PDF/A-4e (Engineering) replaces the old PDF/E standard for technical documents, and supports Rich Media and 3D annotations, PDF/A-4f allows any type of file to be embedded, similar to PDF/A-3, and builds upon PDFs existing container format capabilities.
We continue the digital signature revolution we introduced with iText Core version 8.0 with a significant improvement which allows signing to be performed in several steps, rather than as a single operation. This can be especially useful to facilitate concurrency and manage resources efficiently in batch operations. The new deferred signing API already allowed this to some degree, although it required users to manually implement
IExternalSignatureContainer themselves – which is no longer necessary.
There’s also a nice improvement for the appearance of digital signatures. Now, the generation of the appearance of signature form fields is delegated to the layout module rather than being manually implemented in the
PdfSignatureAppearance class, enabling completely customizable appearances. This means the old layer-based approach is outdated, and has been deprecated.
Stay tuned for future releases to see further strides in digital signing.
There are some nice changes to annotation flattening, where we’ve implemented a high-level API to simplify and enable easy customization of annotation flattening. You can either tell iText to flatten all annotations with just two lines of code, or if you prefer you can define specific types of annotation to be flattened. The power is now at your fingertips.
Bug fixes and miscellaneous
There’s also some miscellaneous improvements and fixes for the layout module relating to table row and cell properties, as well as fixes for a potential infinite loop with tables. We’ve also fixed an issue where a maliciously crafted PDF with a huge number of pages and empty data structures could cause an out of memory error. Now iText will avoid such issues by more intelligently allocating memory for documents like this.
As always, you can click the Changelog tab in the table below to see the full rundown on what’s new in Core, and details of other bugfixes for this release.
Also, don’t forget to check out the release-related examples below, as well as the updated Core add-ons we’ve released this time:
iText Suite 8.0.2 Releases
Release Related Examples
- PDF/A-4 family support
- Introduced higher level signing API
- High-level API for annotation flattening
- Create default implementation for IExternalSignatureContainer
- Signature appearance improvements
- KeepTogether property set on table might lead to infinite loop
- PDF with Missing Dict Causes Exception
- Incorrect processing of table cells with large rowspan occupying more than one page
- Row span doesn't carry the Cell color to next page
Examples (latest ones)
FAQ (latest ones)