iText Suite 9.1: Celebrating 25 Years of iText with Expanded SVG and CSS, Faster Tables, and More!

Fri - 02/14/2025, by

On 14th February 2000 the first public version of the iText PDF library was released to the open-source community. A quarter of a century later, Apryse is proudly celebrating with the release of iText Suite 9.1 on iText’s 25th anniversary, which is also Valentine’s Day! This release brings significantly expanded SVG and CSS support, huge performance increases, GraalVM for pdfHTML, and a whole lot of love!

Share this article

iText Suite 9.1 25th Anniversary Release banner

Following iText's latest major version release in the last quarter of 2024 with iText 9.0, this 25th Anniversary release is special. Exactly 25 years ago the very first public release of the iText PDF library was uploaded by Bruno Lowagie on Valentine’s Day, thus beginning iText’s love affair between PDF and the open-source community. That’s not all though; we're also releasing iText Suite version 9.1 with a bunch of new features and improvements you are going to love! ❤️

We won’t be breaking any hearts with breaking changes either, since this is (technically) a minor release. You definitely won’t want to skip this one though, as we’ve got tons of stuff for you to celebrate along with us.

First off, we’re massively extending our SVG implementation in  iText Core, with significant improvements to text positioning, font handling, adding support for relative size attributes, and much more. You can also expect a major performance increase in the generation of large tables, particularly when adding structural tagging information to tables. This is especially important for PDF/A and PDF/UA purposes.

This doesn’t just benefit PDF generation and templating with iText Core though, as the pdfHTML add-on also takes advantage of the increased performance. Speaking of which, there’s more good news as we've expanded our built-in support for GraalVM Native Image compilation to now include pdfHTML. This can significantly enhance the flexibility and performance of PDF generation from HTML templates in environments where resources are limited or speed is of the essence, such as in cloud and container deployments.

This is just a brief overview though, as there’s a lot more to cover with updated add-ons and more across the iText Suite PDF SDK below. Let’s take a closer look at what's new.

Release iText Core 9.1.0

Improved Table Performance

First off, the iText development team has been working hard to improve iText’s already class-leading performance – particularly when it comes to building tables. Table support was one of the fundamental things that made iText special amongst PDF libraries, since the PDF specification of the time had no concept of tables. Being able to create and populate tables directly in PDF (without converting from another format) was key, since at a basic level, PDFs are composed of graphical elements – lines and vectors.

Since then, the PDF specification has evolved to support tagging, which adds structural metadata to identify content as headings, paragraphs etc. which aids content extraction and reuse. It also allows tables to be defined as rows, columns, headers, and data cells. When creating tables with iText you can simply enable tagging, and iText’s layout engine will automatically create the required tags for you.

The layout engine in iText has grown both in capabilities and complexity. For example, calculating cell margins in iText 5 and earlier was rather quick and dirty, meaning manual tweaking could be required to ensure the contents were aligned correctly. With iText 7, these calculations were revised to be far more accurate and save developers’ time – though the added complexity did mean slower rendering overall. Enabling tagging for tables would naturally increase the rendering time, since iText has to do a lot more work.

With iText Core 9.1.0 however, this code has been fine-tuned to turbocharge table rendering, particularly when it comes to tagged tables. If you look at the comparison graphs below, you can see there is a huge reduction in the time iText takes to create a table.

A comparison of table rendering between iText versions
Vroom vroom! Check out the new GT-iText!

Just to make it clear, in this graph lower is better. Lots of love goes to iText’s wonderful development team for their tireless efforts. Without them, we’d be nothing. ❤️ 

Extended SVG Support

Let’s get into the SVG improvements next, as there’s a lot to cover. We first introduced SVG support as a dedicated Core module back in 2018 with the release of iText Core 7.1.2. Many additions and enhancements have been made to our in-house implementation since then, with coverage of the specification steadily increasing to meet customer needs. However, this release sees our biggest leap yet with over 40 tickets being closed – full marks to our incredible dev team!

Newly added are support for text clipping paths, 'marker-mid' properties, text decoration, and passing markers from g elements to children. We’ve improved general font handling, while some other improvements to draw attention to are in the support for relative size attributes, text positioning, 'direction' properties, stroke opacity, and dash patterns. 

There's also improved support for CSS-specific SVG, which you can find more details on in the pdfHTML release notes. However, we'll call out the improved support for different CSS origins in SVG and referencing external resources with the @importurl() rule.

That's by no means all though, as we've also hugely improved the SVG module’s usage of the advanced typography features enabled by the pdfCalligraph add-on for iText Core. Since a picture tells a thousand words, here is a preview of what you can achieve with just iText, SVG, and a little CSS.

A screenshot showing off our SVG Text rendering
A screenshot showing off our SVG Text rendering 

What better way to celebrate iText’s 25th anniversary than to show how far we’ve come in more than 30 different languages? Check out our special showcase PDF to see this in its full and beautifully rendered glory in the linked release notes. 

Digital Signatures

We’re continually working on iText’s digital signing and validation capabilities to provide a unique breadth of support in the market. Further to the addition of MAC integrity protection support from our previous release, this has now been extended to be supported for two-step signing. There’s also new code examples for signing with the Cloud Signing Consortium (CSC) API, which we recently wrote about in Part V of our Digital Signing with iText series. You can find links to these samples in the release notes.

Alongside that, we’ve made some general improvements to signing and validation. In particular, the workaround for certificates where the pathLength parameter is set to 0 for the basicConstraints extension is no longer required.

Other Stuff

There’s updates for merge handling when remote and embedded go-to actions are present, and we resolved a customer issue related to decoding Xref streams with missing bytes.

Our implementation of the brand-new PDF/UA-2 standard has also been improved. specifically, when using the Annot tag for content elements in PDF 2.0 documents.  Stay tuned for further developments around PDF/UA-2 in our next quarterly release.

Speaking of which, the PDF/UA ISO standards are now publicly available at no cost, thanks to a collaboration between the PDF Association and leading PDF accessibility companies. This initiative complements Apryse's existing sponsorship of the PDF 2.0 ISO standards, which have been freely accessible since April 2023

As active participants in the PDF Association, its PDF Working Groups and the ISO committees for PDF, we’re proud to help drive the adoption of modern PDF standards and technologies. Visit the PDF Association’s Sponsored Standards page to access the downloads and learn more.

Release pdfCalligraph 5.0.1

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 you can expect significantly improved usage of the typography module when handling SVG content that would benefit from it. Thanks to the text renderer in iText Core’s layout module doing much of the heavy lifting, SVG Text handling is particularly improved. Check out the showcase PDF document linked below to see what we mean!

Release pdfHTML 6.1.0

pdfHTML is an iText Core add-on for Java and .NET to create PDF from HTML/XML (and associated CSS). Since pdfHTML and iText Core’s layout and rendering engine are tightly integrated, improvements to one often benefit the other. This release is no exception.

GraalVM Native Image

Our built-in support for GraalVM Native Image compilation now includes pdfHTML. This means you can potentially build a complete template conversion executable to run anywhere, using only the Core and pdfHTML modules you need. Stay tuned for a series of articles from our dev team going over what we learned from implementing GraalVM Native Image support and building an example application.

SVG and CSS Improvements

As we mentioned, pdfHTML hugely benefits from the extended SVG and CSS coverage in this release. In particular, the text-decoration, marker-mid, and stroke-dash-array additions, along with support for different CSS origins in SVG.

There are improvements to SVG Text, which also benefit pdfCalligraph. Along with that are numerous refinements and bugfixes to aid utilizing SVG and CSS for templating. One thing to call out is the improved Flex container usage with tables. Speaking of which…

Table and Forms Improvements

We’ve already mentioned the massive performance increase for tables in Core, and HTML template conversions with tables will take great advantage of this. Using pdfHTML for PDF/A and PDF/UA conformance will also see especially large performance increases, due to the tagged table optimizations. Conversion of HTML forms for PDF/UA conformance is also improved.

Release pdfOCR 4.0.1

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 pdfSweep 5.0.1

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.

This release improves pdfSweep’s handling of overlapping glyphs to produce better results. We also fixed a bug where invalid data was left after cleanup, and resolved an issue where processed content would render differently in certain viewers.

Release pdfXFA 5.0.1

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.

In this release, the calculation of fields which depend upon the results of another field has been improved. Additionally, there is a bug fix where long comment fields or action scripts could result in an infinite loop.

Pull Requests

As always with open source, contributors are key. It cannot be overstated how important the community is in helping to ensure the future of iText. For this release, we’d like to thank Stefan Bechtold for submitting a PR adding support for styling tables with nth-last pseudo class selectors. Thanks also to Artyom Skrobov for squashing a bug when decoding an empty PdfString, and finally Zuzu-Typ for fixes to the kernel PDF encryption constants documentation.

We love to see contributions from 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

Many bugs have been resolved for SVG rendering and CSS layout. In addition, general bugfixes have been made to font and text handling, form fields, signing and validation, and more. 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.

Showcase PDF

If you caught the iText 9.0 release, you’ll know we bundled a rather snazzy PDF version of our release notes to show off some of the more recent additions to iText. Given the significant SVG and CSS improvements this time, this is the primary focus of our showcase document. Once again, we’ve leveraged pdfHTML to show the benefits of its integration with the core iText library for PDF templating. 

However, for this release we’ve brought pdfCalligraph along for the ride to help celebrate iText’s 25th anniversary in more than 30 different languages/writing systems – all meticulously rendered by iText’s own typography tech of course! 

As before, the document conforms to multiple PDF 2.0 standards - PDF/A-4f, PDF/UA-2, and WTPDF – meaning it meets and exceeds the highest bars for archiving, accessibility, and content reuse. Using the power of PDF layers you can switch between displaying the Java or C# code samples. You even get the source code and resources to recreate the document yourself, since they’re embedded directly in the file!

A screenshot view of the showcase PDF and attachments
Viewing the showcase PDF and attachments

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

Get Started with iText Suite 9.1

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.

Final Thoughts

25 years is a long time, and iText has seen many changes – whether in code bases, logos, and companies. In a 2022 keynote at an iText event, the original iText founder and developer Bruno Lowagie gave his unique insights on where iText came from, and what the future might hold.

It's been two years now since we became part of the Apryse family, and in that time iText has gone from strength to strength. Wherever and whatever PDF will be in the next 25 years, iText will be there too.

While we’re now iText by Apryse, some things never change. Our love for PDF, the open-source community, and developers. ❤️

See you in Q2 for our next release!



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