As always, we’ve made the Core release notes into a showcase PDF document. Not only does it conform to the latest PDF/UA-2 standard for accessible PDF documents, it’s also digitally signed and has source code and resources required to recreate the document yourself embedded. Have fun!
Release date:
We are pleased to announce the release of iText Core 9.8.0. This release introduces support for vertical text layout and CJK writing modes, radial gradients and SVG mask support, and advanced SVG stroke properties. In addition, we’ve introduced a higher-level transformation API with more user-friendly affine transform capabilities in the Layout module, enhanced footnote navigation, critical security updates across key cryptographic and utility dependencies, and substantial performance and standards-conformance improvements.
Vertical Text Layout & CJK Writing Modes
iText Core 9.8.0 introduces initial support for vertical writing modes in the Layout module, primarily aimed at CJK (Chinese, Japanese, and Korean) layouts. Whilst the implementation is not yet complete, the API has been finalized and supports line breaking, baseline adjustments, right-to-left vertical progression, accessibility tagging, and improved sizing behavior in tables, flex containers, inline blocks, and text renderers.
The current implementation also covers word and character spacing, text alignment, overflow handling, text decorations, and text-rise behavior, with related pdfHTML alignment for CSS vertical writing modes.
Layout, Rotations & Transformations
The Layout module now includes more user-friendly affine transformation capabilities, with simplified API options for Property.TRANSFORM (Java/.NET) . The release also resolves layout issues affecting rotated table cell sizing, content offsets, rotated page coordinates, and relative image positioning with borders.
Advanced SVG & Graphics Capabilities
This release expands SVG and graphics fidelity with radial gradient support across SVG, Kernel, and Layout, SVG <mask> support via PDF soft masks, advanced stroke properties such as stroke-linecap, stroke-linejoin, and stroke-miterlimit, URL-based stroke references with fallbacks, and fixes for nested clip paths with translations.
Coming soon: Markdown to PDF
Related to the SVG improvements, we’ve been working on providing Markdown-to-PDF conversion via GitHub Actions. It isn’t part of this release, but we’ll share more very soon.
Footnotes & Margin Enhancements
Footnotes are now easier to navigate in digital documents thanks to bi-directional clickable links between anchors and footnote bodies. This release also improves footnote numbering with footer and page-break handling, font resolution for footnote anchors, and margin handling during document relayout.
Security and Stability
iText Core 9.8.0 includes important security and stability updates across cryptographic, JSON, HTTP, and logging dependencies, including IV generation fixes, Bouncy Castle FIPS, Bouncy Castle standard libraries, Jackson Databind, Apache HttpClient, and Logback. It also improves PDF/A and PDF/UA validation, text extraction performance, circular reference protection, digital signature revision validation, custom font link handling, font resource licensing clarity, and runtime compatibility for .NET 10 and GraalVM JDK 24/25 environments.
Pull Requests
We’d like to thank netliomax25-code for their fix to improve CSS ~= attribute selector matching in pdfHTML and styled-xml-parser by properly escaping selector values before pattern matching.
Bug Fixes and Miscellaneous
Beyond the headline features, iText Core 9.8.0 includes a broad set of fixes and maintenance updates focused on performance, standards conformance, document stability, packaging quality, and developer experience.
-
Performance and resource handling: Restored Standard 14 font caching in text extraction to address a performance regression, added circular form XObject protection in canvas processing and cleanup workflows, and optimized conditional logging to avoid unnecessary string formatting when log levels are disabled.
-
PDF/A, PDF/UA, and validation improvements: Improved validation for PDF/A documents with multi-stream page contents and refined glyph validation for substituted glyphs without Unicode mappings.
-
Digital signing and document integrity: Corrected revision counting in digital signature validation to avoid over-counting document processing events and improve validation reliability.
-
Layout and rendering fixes: Fixed issues involving custom font links, relative image positioning with borders, rotated table cell sizing, footnote numbering with footer and page-break handling, and margin handling during relayout.
-
Packaging, runtime compatibility, and documentation: Improved .NET 10 and GraalVM JDK 24/25 compatibility, centralized .NET build configuration, fixed licensekey and iText Core tests for .NET 10, and expanded public API documentation for the
iomodule. -
Compliance and dependency hygiene: Replaced legacy bundled font resources with clearly licensed equivalents, updated related notice information, and improved GraalVM WebP test stability.
Other Stuff
If you use iText for digital signing, you may be interested in the Digital Signatures Hub which contains a ton of useful resources and examples.
Don’t forget that in addition to the resources on our Knowledge Base, on our GitHub you can find a ton of useful up-to-date samples in the following repos:
Java
.NET
If you want to create ZUGFeRD/Factur-X-e-invoices with iText Core, we have both Java and .NET code samples available targeting the current ZUGFeRD/Factur-X specification. They demonstrate how to 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.
Bear in mind that our master branch contains samples for the current stable release, while the default develop branch is for the bleeding edge commits towards the next release.
Also, don’t forget to check out the release-related examples below, as well as the updated Core add-ons in the iText Suite we’ve released this time:
iText Suite 9.8 Releases
Downloads
|
|
||||
|---|---|---|---|---|
|
iText Core – 9.8.0 (Java) |
N/A |
|||
|
iText Core – 9.8.0 (.NET) |
N/A |
Changelog
New features
Improvements
Bug fixes
|
Deprecation of Older iText Versions
We're taking this opportunity to announce End of Life dates for deprecated iText versions. EOL for iText 7.1 was April 2025, and iText 7.2 was October 2025. As for iText 8.0, this will reach EOL in October 2026.
EOL for these versions means they will transition to maintenance mode, and only receive security patches. However, just as with iText 5 we will continue to provide support for our customers. Even though iText 5 has been in maintenance mode since 2016, we regularly release new versions to address CVEs and other security-related bugfixes. See CVEs or the iText 5-specific CVEs page for more information.
Contributors
|
|
|---|---|
|
We’d like to shout out the following contributors for this release: |
|
|
|
eBooks
Installation Instructions
Examples (latest ones)
FAQ (latest ones)
- How do I Configure Logging for Volume License Troubleshooting?
- What features are supported or unsupported in pdfHTML?
- Resolving Microsoft.DotNet.PlatformAbstractions.dll Exception in Azure Functions
- How can I find code examples for specific iText versions or releases?
- How to deploy an iText License for Azure PowerShell?