Easter is nearing, and so we're pleased to announce the second quarterly release of your favorite PDF library for Java and .NET (and more thanks to the REST API!): iText 7.2.2. With four releases a year, we make sure you are always equipped to handle the latest challenges in document management.
As always both our iText 7 Core library and a number of our add-ons have been improved. This release features improved Urdu support in pdfCalligraph, support for document cross-references in pdfOffice, and many more improvements and bugfixes across the iText 7 Suite.
iText 7 Suite Releases
iText 7 Core is where it all starts. Whether you want to create and manipulate PDFs that comply with PDF standards (including PDF/A and PDF/UA) or use advanced functionality such as digital signing and PDF security, Core has got you covered.
On the Java side we've updated some dependencies such as Bouncy Castle to 1.70, Log4j to 1.7.33, and Logback to 1.2.10. For .NET the System.Text.RegularExpressions dependency is now explicit rather than implicit, and uses version 4.3.1.
We've made some improvements to iText's parsing logic for PDF cross-reference structures. This was to prevent the potential for a PDF's structure to be maliciously created to cause infinite loops or other issues. You can find out more in the Safeguards against loops in cross-reference structure of PDF files example. For a more detailed explanation on cross-reference tables, you might like to refer to the following blog by Mark Stephens at IDR Solutions.
We've also fixed a bug relating to CFF (Compact Font Format) font parsing. As noted in the specification, CFF is a font format which was developed by Adobe to act as a compact container for one or more fonts by using lossless compression. In cases when a font's CID (Character ID) does not correspond to its GID (Glyph ID), iText could incorrectly read its cmap values resulting in incorrect glyphs being displayed in PDF viewers. To address this, the font parsing logic has been rewritten to account for fonts where the glyph IDs do not match the CIDs, and will now handle them in the correct and expected manner.
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.
In this 3.0.1 release we have made improvements to the support for Urdu (used in Pakistan and India), particularly when dealing with line breaks.
pdfHTML is an iText 7 add-on that allows you to easily convert HTML and CSS into standards compliant PDFs that are accessible, searchable and usable for indexing. It's also great for using HTML templates to generate well-formatted, well-structured PDF documents.
The release of pdfHTML 4.0.2 brings a couple of nice bugfixes. In previous versions, converting an HTML file which had an @font-face rule with an empty body would result in an NPE. Now, pdfHTML will simply ignore such declarations.
We've also fixed a CSS bug where a checkbox with 100% width and the display: block property would result in incorrect horizontal margins being applied during conversion. Here is an example of HTML that could trigger the bug.
pdfOffice is an iText 7 add-on which enables high-quality native conversion of Microsoft Office documents to PDF.
pdfOffice 2.0.2 brings a bumper selection of newly-supported features for document conversions, including support for cross-references within documents. Cross-references are a feature that allows you to link to other parts of the same document, and you might use a cross-reference to link to a chart or graphic that appears elsewhere in the document.
Documents containing tables with headers which are repeated on subsequent pages are now supported (Example conversion), as well as spreadsheets containing Hindi symbols. In addition, documents which contain an embedded video (such as from YouTube) will now be converted correctly, and include a link to the video's online location. Here is a Java example on how to do this.
We've also fixed a couple of issues relating to the conversion of presentation files. Converting a .pptx file with a positive to negative page range selection would result in the generation of an incorrect page count. Similarly, if the selected page range was negative to positive (or indeed negative to negative), it would result in an exception during conversion.
Finally, we fixed a rather esoteric Linux-specific bug where creating a file in LibreOffice Calc containing negative decimal numbers, and saving it as an Excel 97/2003 compatible .xls file would result in the converted file containing different values. However, we're pleased to say this has now been resolved, and such files with negative decimal numbers will now be converted to the same values as in the source file.
pdfXFA is an iText 7 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 the 3.0.1 release we now offer a configuration parameter to disregard the checksum on forms when flattening. This is in case they do not match, so that the input does not get discarded.
You can configure this parameter as follows:
XFAFlattenerProperties properties = new XFAFlattenerProperties();
If you need to process XFA documents, we have a related blog post that may be interesting to you:
We always release our PDF debugging tool RUPS together with iText 7 Core, as it is one of the most important dependencies (so all the goodies in Core also make their way into RUPS).
Do you want to contribute to the iText 7 community? We always welcome contributions and pull requests. If you have any, let us know.
As well as code contributions, we also welcome guest blogs on all things PDF and iText. Or if you are working on or already have content that you think is worth mentioning on iText’s channels, reach out to our marketing team.
More information on the iText Knowledge Base
You can read the full iText 7.2.2 release notes on our Knowledge Base, your source for all iText documentation: installation guides, examples, FAQs, and more!