iText Suite 9.0: New ISO Security Standards Support, Comprehensive Signature Validation, and More!

Mon - 11/18/2024, by

iText Suite version 9.0 introduces a brand-new major version of the iText Core library, and updated Core add-ons. We've finalized the dedicated PDF digital signature validation module, and added support for the ISO/TS 32003 and 32004 standards. Not only that, but we also have new and improved APIs and much, much more.

Share this article

iText Suite 9.0: new standards and comprehensive signature validation

The end of 2024 is fast approaching, yet for iText it’s a new beginning. This Q4 release marks the second iText  major version release since becoming part of the Apryse family of products. Version 9.0 of the open-source iText Core PDF library introduces significant new features, support for new specifications, and revised APIs to delight developers.

We’ve added support for the ISO/TS 32003 and 32004 standards, enabling even more secure PDF documents. Also on the list is the finalized digital signature validation module, along with a new API to easily get layers used in a page, and improved PDF/UA signing.

That’s by no means all though, as we’re also releasing new versions of all add-ons across the iText Suite PDF SDK. Let’s take a closer look at what iText 9 brings to the table. 

Release iText Core 9.0

New ISO Standards Support

First and foremost, iText Core version 9.0 incorporates support for the very latest ISO PDF document security standards. ISO/TS 32003 adds AES-GCM encryption to the PDF 2.0 specification, allowing documents to be protected with high-performance, yet extremely secure encryption. 

ISO/TS 32004 introduces an integrity protection mechanism for encrypted PDFs, using a Message Authentication Code (MAC) to ensure authenticity. To fully understand what this means for securing PDF documents, we highly recommend reading two great articles on the PDF Association site: ISO 32004: an overview and the follow-up MACs vs. signatures in PDF which go into detail on this subject.

You can find code examples in the release notes for using both of these features.

Digital Signature Validation Module

On the subject of PDF digital signatures, we’re also proud to present the finalized version of our dedicated validation module. This forms an integral piece of iText’s enhanced digital signing capabilities introduced with iText 8.

The aim is to provide simpler, more extensive API methods to not just sign PDF documents, but also validate the digital signatures within them – whether iText created them or not. Since you can validate multiple document revisions as well as certificate chains, iText can now be your Swiss Army knife for digital signatures, as well as PDF creation and manipulation.

This release enables you to only validate a single signature in a document, as opposed to all signatures. In addition, the signature validator will now work for encrypted documents.

API Improvements

There are also major refinements to iText’s API. These include streamlining PDF/A and PDF/UA creation and conformance to simplify the process. We’ve also developed a new API to identify the layers used in a page. This will help to find which Optional Content Groups (OCGs) belong to which page in a document.

Signing of PDF/UA documents has been improved. When creating a signature form field iText will now take into account if an alternative description is set in the accessibility properties of the signature appearance. Additionally, if you forget to set a font for the signature appearance this will now result in a conformance exception, rather than a property error.

Further improvements have been made to rebuilding invalid cross-reference (xref) tables in corrupt documents. When encountering such errors in non-strict mode, iText will now provide specific information on the cause.

We recently extended the RSASSA-PSS encryption support to .NET, and it is now also supported in .NET FIPS mode.

Along with that is improved font selection and general handling, performance enhancements, and much more. iText has a reputation amongst Java and .NET developers for its speed and ease of use, and we’re ensuring that remains the case in the future.

Breaking Changes

Since iText 9 is a major release version, it naturally means a break in compatibility with iText 8. As the developers among you will appreciate, this is necessary to make quality-of-life improvements and reduce our technical debt. 

However, thanks to the solid foundations laid with iText 7 and 8 there are few major API differences in iText 9. On the iText Knowledge Base we have extensive documentation on the breaking changes to ease the migration of existing projects from earlier versions.

Release pdfCalligraph 5.0

pdfCalligraph is an add-on for iText Core which provides advanced typography support when creating PDF documents. This enables you to expand your document workflow with accurate rendering for global languages and writing systems.

For this release of pdfCalligraph, the version number has been bumped for compatibility with iText Core 9.0 and License Key Library 4.2.0.

Release pdfHTML 6.0

pdfHTML is an iText Core add-on for Java and .NET to create PDF from HTML/XML (and associated CSS).

This release includes a bug fix relating to repeating table headers. In addition, the version number has been bumped for compatibility with iText Core 9.0 and License Key Library 4.2.0.

Release pdfOCR 4.0

pdfOCR is our add-on for iText Core to perform OCR on documents and images.

For this release the version number has been bumped for compatibility with iText Core 9.0 and License Key Library 4.2.0. In addition, it includes a fix for CVE-2024-47554 resulting from the use of the Apache Commons.io library. 

Release pdfOptimizer 4.0

pdfOptimizer is our iText Core add-on to reduce the file size of PDFs.

This release simply bumps the version number for compatibility with iText Core 9.0 and License Key Library 4.2.0.

Release pdfSweep 5.0

The pdfSweep add-on is another open-source add-on for iText Core, which enables you to securely redact content from PDFs. This is essential when you need to completely remove confidential or sensitive information from documents.

For this release the version number has been bumped for compatibility with iText Core 9.0 and License Key Library 4.2.0..

Release pdfXFA 5.0

pdfXFA is an iText Core add-on for Java and C# (.NET) that allows you to flatten dynamic XFA forms to static PDF. It also enables you to add a digital signature to converted XFA forms as additional security for further processing in PDF workflows or for archiving.

For this release the version number has been bumped for compatibility with iText Core 9.0 and License Key Library 4.2.0.

In addition, we fixed a flattening bug related to embedded datasets. This was resolved by improving the databinding for fields.

Pull Requests

Once again, we’d like to thank Matthias Valvekens for another pull request submission. This relates to Unicode, and adds support for platform 0 encoding 3 in the Truetype and OpenType character map table. This is used in some fonts shipped with macOS, among other places.

We greatly value the contributions of our open-source community. If you'd like to contribute and make iText even better, head over to our GitHub.

Bug Fixes and Miscellaneous Improvements

There's some bug fixes for content extraction, Certificate Revocation List validation, and SVG rendering. As always, see the release notes for full details.

Don't forget, the release notes contain links to our Java and .NET GitHub repositories which are continually updated with useful code samples for iText Core and its add-ons.

In particular, if you want to create ZUGFeRD/Factur-X-e-invoices with iText Core, we have new Java and .NET code samples available. These target the current ZUGFeRD/Factur-X specification, and demonstrate how to both embed the XML invoice data and add the metadata required for conformance. Read this article to learn more about ZUGFeRD/Factur-X, and using these code samples to create EN 16931-compatible e-invoices. 

Additionally, we have a new chapter to our Digital Signing with iText series on our Knowledge Base. In Part V, we take you through the steps of signing PDFs with Java via a remote signing service offering CSC API access.

Showcase PDF

Since this is an extra-special release, we've prepared an extra-special PDF from our release notes. This document was creating with the help of pdfHTML, and demonstrates some of the advanced PDF features you can use with iText 9: It conforms to multiple PDF 2.0 standards (PDF/A-4f, PDF/UA-2, WTPDF), and features SVG rendering, dynamic generation of table of contents/bookmarks, and more. It also has files embedded, including a PDF with MAC integrity protection, and even the source code to recreate it!

An example iText PDF showcasing advanced features

Don't miss the link in the release notes to get the full rundown.

Get Started with iText Suite 9.0

If you’re not already using iText, we highly recommend our free 30-day trial which allows you to try out the entire iText Suite. This not only includes iText Core, but also all our open and closed source add-ons.

Since the trial is covered by the terms of our commercial license, you can be assured your intellectual property is safe. The AGPLv3 conditions do not apply to commercial license holders, and your code can remain closed-source.

That’s all for now, so we’ll see you in Q1 of 2025 for iText's 25th anniversary as an open-source project. As always, happy coding!



Profile picture of Ian Morris

Ian Morris

Product Management

Ian joined iText in 2019 as Technical Writer. Originally from the UK, he now lives in Ghent, Belgium.

Contact

Still have questions? 

We're happy to answer your questions. Reach out to us and we'll get back to you shortly.

Contact us
Stay updated

Join 11,000+ subscribers and become an iText PDF expert by staying up to date with our new products, updates, tips, technical solutions and happenings.

Subscribe Now