We are pleased to announce that iText 7.1.0 is a new release for iText 7 Core and Community, focusing on PDF 2.0 support.

iText 7.1 brings new improvements, and some changes to our compatibility and licensing. The largest change being that the 7.1 release does not preserve full backward compatibility with 7.0. In order to maintain a high quality API and to facilitate future development, some changes and improvements required breaking changes. These are focused in a few areas of iText functionality and thus will only impact a select number of use cases. Read more below on what is affected and improved.

The second largest change is that we are also updating our license key library to 3.0.0 in order to reduce confusion between the separate versions of our license key libraries. pdfSweep, pdfHTML, pdfCalligraph, and pdfInvoice are all bumped up to 2.0.0, to catch any breaking changes in the API of their main dependency iText Core.


What is different in each of these new releases?

General

  • Backwards compatibility breaks are documented for Java and .NET.
  • Support was added for PDF 2.0 improvements and features, such as AES-256 encryption, Unicode based passwords, the new tagged PDF tag set and namespaces, and associated files. iText 7 already supported industry standards, such as PAdES digital signatures, which have been incorporated in PDF 2.0.
  • The logging mechanism was improved in .NET.

iText 7 Core/Community 7.1.0 for Java - for .NET

  • Major improvements in tagged PDF edge cases.
  • A tagged PDF no longer automatically receives the XMP metadata specific for PDF/UA.
  • Reordering pages is now more intuitive.
  • The cryptography library BouncyCastle is now a dependency, and no longer included in iText source code.

License key library 3.0.0 for Java - for .NET

  • The license key library can now handle iText 5 and iText 7 licenses in parallel.
  • Add-ons are now also registered in PDF metadata.
  • For volume-based commercial licenses, all usage can now be logged.

pdfHTML 2.0.0 for Java - for .NET

  • Major version bump for compatibility with iText Core 7.1.
  • Default font is now Times New Roman.

pdfCalligraph 2.0.0 for Java - for .NET

  • Major version bump for compatibility with iText Core 7.1.

pdfSweep 2.0.0 for Java - for .NET

  • Major version bump for compatibility with iText Core 7.1.
  • Bugfix for incorrect parsing of an edge case with the TJ operator.

For a quick and easy switch to iText 7.1.0 consult our migration guide for Java or .NET



iText 7.1.0

C# Port

Bug

  • [DEVSIX-825] - Methods FontRegisterProvider#getFont ignore style parameter
  • [DEVSIX-1285] - EmbeddedFile nameTree improperly loaded
  • [DEVSIX-1534] - Adding Multiple Text Objects to Paragraphs with Bold/Italic has unexpected spacing
  • [DEVSIX-1568] - Appearance is generated in spite of generateAppearance = false
  • [DEVSIX-1573] - Unable to add character '1' to a pdf using Noto Bold CJK sc
  • [DEVSIX-1591] - pdfHTML: rename embedded Jsoup classpath
  • [DEVSIX-1670] - Regression: .NET does not recognize network paths

New Feature

  • [DEVSIX-1165] - PDF 2.0 Encryption: implement support for the revision 6 of the standard security handler
  • [DEVSIX-1652] - Layout autotagging: allow specifying custom tagging order

Task

  • [DEVSIX-790] - Investigate whether we need to update xmp metadata after document info modifications or not
  • [DEVSIX-1089] - Support UTF-8 Unicode character encoding for text string type in PDF 2.0
  • [DEVSIX-1090] - Associated files support for PDF 2.0
  • [DEVSIX-1236] - Finalize tagging refactoring before 7.1
  • [DEVSIX-1306] - Make BouncyCastle a dependency in iText7.NET (and .NET Standard) instead of embedding it
  • [DEVSIX-1308] - Go through the list of 7.1 breaking changes and implement easy ones
  • [DEVSIX-1382] - Autoport: support per branch porting
  • [DEVSIX-1387] - Revise @Deprecated annotations and remove/refactor/close corresponding methods
  • [DEVSIX-1406] - PdfCanvasProcessor: synchronize functionality for all types of IEventData
  • [DEVSIX-1465] - License Key Library: Include Volume Based Counter
  • [DEVSIX-1504] - Review inconsistency with generic method in Rectangle.java.
  • [DEVSIX-1506] - Review FontProgram#getBaseName method existence. Review PdfFont#containsGlyph() methods
  • [DEVSIX-1507] - iText 7.1 breaking changes in .NET version
  • [DEVSIX-1508] - Replace LayoutArea#emptyArea field with RootRenderer method
  • [DEVSIX-1510] - TextChunk comparability issue
  • [DEVSIX-1526] - Fix failing test in 7.1 branch
  • [DEVSIX-1536] - Revise PdfAConformanceException
  • [DEVSIX-1543] - Revise forms + pdf/a functionality
  • [DEVSIX-1671] - Investigate Java 9 support
  • [DEVSIX-1698] - Version: implement desired version checking behaviour

Improvement

  • [DEVSIX-521] - Layout autotagging review and minor bugs fixes
  • [DEVSIX-629] - Investigate PDF/UA documents
  • [DEVSIX-747] - Review getDomain and getMatrix inconsistency in PdfShading children.
  • [DEVSIX-788] - Review Clipper: make sure that the points comparison is done via override equal method.
  • [DEVSIX-1013] - FontWeight, FontWidth and FontStyle constants
  • [DEVSIX-1224] - Update BouncyCastle dependency
  • [DEVSIX-1367] - Update PdfFont and FontProgram documentation
  • [DEVSIX-1435] - Improve ComplexFontSelectorStrategy for Text without significant characters
  • [DEVSIX-1468] - Create FontDescriptor for Type3 fonts and parse it when font is read from document
  • [DEVSIX-1503] - Refactor PdfTarget
  • [DEVSIX-1505] - Remove availableWidth parameter from getMinMaxWidth method
  • [DEVSIX-1523] - Use common-logging in .NET instead of own logging implementation
  • [DEVSIX-1550] - pdfHTML: Change default font-family to Times Roman
  • [DEVSIX-1557] - Autoport: Check manual c# files during porting of merge commits
  • [DEVSIX-1574] - pdfHtml: support cellspacing property
  • [DEVSIX-1577] - Switch [min-/max-] height, [min-/max-] width, font-size, margin and padding properties to UnitValue
  • [DEVSIX-1583] - Add API for reordering pages without removing
  • [DEVSIX-1687] - Update TC build configurations

pdfHTML 2.0.0

Bug

  • [DEVSIX-1064] - Html2Pdf: fix visual differences for gmail custom test
  • [DEVSIX-1597] - HtmlConverter incorrectly places cells with multiple rows in the table head.
  • [DEVSIX-1679] - NPE when adding bookmark using convertToElements() method of pdfHtml

Improvement

  • [DEVSIX-1074] - Html2Pdf-Svg: Fix path data parsing
  • [DEVSIX-1075] - Html2Pdf-Svg: Support Elliptic arc in path
  • [DEVSIX-1081] - Html2Pdf-Svg: Support svg images added with img tag.
  • [DEVSIX-1550] - pdfHTML: Change default font-family to Times Roman

pdfSweep 2.0.0

Bug

  • [DEVSIX-1622] - pdfSweep is unable to handle TJ operator without text instructions