It’s the start of a new year, so as you can expect with our quarterly release schedule, it’s time for a new iText PDF SDK release! Version 7.2.5 of the iText Suite is here, and as always, it’s packed full of improvements, and bug fixes, with a few nice new features to boot.
We’re also releasing new versions of the pdfCalligraph, pdfHTML, pdfOffice, pdfRender, pdfSweep, and pdfXFA add-ons to go along with the iText Core PDF library. As usual, there’s also an update to our RUPS debugging tool for PDF development.
That’s not all we’ve got to announce though. Our crack team of developers are hard at work on an exciting project which we’ll talk about later. For now, let’s dive into what’s new in iText 7.2.5 and the rest of the Suite.
We’ve made a change to the way iText Core opens documents, meaning you should see a significant performance increase when opening or processing PDFs. In addition, we’ve improved Core’s resilience when dealing with PDFs with incorrect or malformed cross reference (xref) tables. Previous versions would already do a pretty good job of rebuilding invalid xrefs when opening a document. However, issues could still be encountered when a trailer containing references to an object was located before the actual object’s location, for example in linearized PDFs with corrupted xrefs. Cases like these should now be resolved.
Additionally, the wrapping of text elements inside Paragraph objects has been improved to fix problems with spaces at the beginning or end of lines. See the example linked from the release notes for more information.
Core’s support for TIFF images has been updated and extended to include more CCITT compression types, more details can be found in the release notes.
Finally, a bug relating to merging documents has been resolved. In previous versions, layers with identical names would be discarded when merging with
UseSmartMode(), even when the layers were assigned to different pages in the document.
pdfCalligraph is our iText 7 add-on which provides advanced typography support when creating PDF documents, enabling you to expand your document workflow with accurate rendering for global languages and writing systems.
Large PDFs with many scripts requiring OpenType or bi-directional processing could result in long processing times in previous versions of pdfCalligraph. In this release we’ve made some optimizations which will speed things up significantly in such cases.
Additionally, some memory optimizations have been made for the processing of Thai scripts.
pdfHTML is an iText 7 add-on for Java and .NET to create PDF from HTML or XML (and associated CSS).
A new feature for pdfHTML 4.0.5 is support for the vertical-align CSS property for inline blocks. This property can be used to align inline-block elements vertically, for more details on its use you can refer to the example linked from the release notes.
pdfOffice is an iText 7 add-on that enables high-quality native conversion of Microsoft Office (Word, Excel, and PowerPoint) documents to PDF.
In this release an issue where converting certain password-protected Word files would result in extra pages or border placement issues in the output has been fixed. This version also includes some other general fixes and improvements for document conversions.
pdfRender is our iText 7 add-on to generate images from PDF documents. It is currently only available for Java, though a CLI version is also available.
In this release, we’ve updated the jackson-databind dependency to resolve the CVE-2022-42003 vulnerability which was identified in previous versions.
pdfSweep is our secure redaction add-on for iText 7. A small, but nice change in this release is the improved logging for unsupported images. When pdfSweep encounters an image where its file type or encoding is not supported, it will now produce a more verbose exception.
pdfXFA is our add-on for iText 7 which 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, we’ve fixed an issue where data binding could break when there was a naming conflict, resulting in missing fields in the flattened PDF. Now, pdfXFA will be more resilient when flattening XFA forms.
Exciting news for the future of iText
It was all the way back in 2016 that we released the first version of iText 7, and a lot has changed since then. New features and capabilities have been added into the core PDF library, and many more add-ons have been developed over the years.
Now, seven years later we’re proud to announce that iText 8 is in development! Just as with iText 7 before it, iText 8 has been redesigned from the ground up to meet the needs of modern document processes. While we’re not quite ready to release it into the wild, we wanted to give you all a quick preview of what will be coming.
Here are just some of the high-level changes that we have planned for iText 8.0:
- By supporting the Bouncy Castle FIPS APIs for Java and .NET in Core, iText 8 will offer full support for FIPS 140-2, the Federal Processing Standard for validating the effectiveness of cryptographic hardware.
- The sign module is being refactored to be more user friendly and support new features.
- RSASSA-PSS support will be included.
- Support for SHA-3 hash functions will be added as specified in ISO/TS 32001.
- As specified in ISO/TS 32002, modern elliptical curves for digital signatures will also be supported.
- We are also refactoring the forms module to include user-friendliness improvements, and allow easier and more effective maintenance.
We’re especially excited about the support for the modernized ISO cryptographic extensions to the PDF 2.0 standard. Being involved with both the PDF Association and the ISO committees which publish these extensions, we believe it is a good thing for open source projects (such as iText) to adopt and popularize such standards early. If development happens in public view, it’s a convenient driver for further adoption across the industry.
You can find more information about the PDF 2.0 cryptographic extensions in this article by Peter Wyatt of the PDF Association. And of course, we’ll have more information about iText’s implementation closer to the release date, along with more details on what else is new.
Since we’re bringing many fundamental changes to how iText works, it should come as no surprise that iText 8.0 will mean breaking changes to the API. However, iText 7.2.x will continue to be developed alongside iText 8, though those of you still using iText 7.1.x should take note that it won’t be around forever…
Over the years, iText has benefitted a great deal from the open-source community, and long may it continue. As always then, we welcome the iText Community’s input on iText 8’s development and your contributions will be greatly appreciated! We already have tons of pull requests we’re planning to include in its initial release, so head on over to our Java and .NET repos on GitHub if you want to contribute something.