iText pdf library
Website search

Release iText 5.4.5

For the release of iText 5.4.5 some bug fixes and improvements were added for Core, XML Worker and RUPS.

For the release of iText 5.4.5 some bug fixes and improvements were added for Core, XML Worker and RUPS.

Release notes

iText Core, XML Worker and RUPS 5.4.5

  • Completed support for PDF/A, more specifically PDF/A-2 and PDF/A-3.
  • XAdES-EPES support has also been added.
  • Fixed some iText 5.4.4-related issues.
  • The new PdfCopy functionality to preserve the structure tree as well as the interactive form fields should now be ready for use.
  • PDF/UA-related issues were fixed, even in iText RUPS.
  • Improvements: parsing functionality and an extra digital signatures feature that allows you to add information about the application that signed the PDF to the signature dictionary.
  • Fixed some bugs, for instance in XML Worker where we still experienced some problems with images in cells and with the order in which CSS styles are processed.

iText 5.4.5 Core



  • Changes made by Alexander Chingarev

    • Fixed issue with removing null objects when using PdfCopy/PdfSmartCopy.

    • Bugfix: when producing a PDF 1.4 document in tagged mode (PdfWriter.setTagged()), adding a table gave the exception: com.itextpdf.text.DocumentException: Unknown structure element role: /TBody.
    • Fixed problem when creating Chapter objects with no text.
  • Changes made by Pavel Alay
    • XAdES-EPES support.
    • Fixed Paragraph.cloneShallow() method (keepTogether field).
    • Moved multipleLeading field from Paragraph/NoNewLineParagraph to Phrase.
    • Improve merge fields logic for tagged documents.
    • Improve PdfCopy for PdfNull objects in tagged mode.
    • Fixed document leading calculation.
    • Add LineSeparator constructor from Font.
    • Fix behavior of underline style for Chunk.NEWLINE.
    • PDF/A-3 support
    • Added PdfA2Checker.checkAnnotation().
    • Added getDirectDictionary() method for PdfAChecker.
    • Added PdfArray caching in PdfAChecker.
    • Added PDF/A specific addFileAttachment()/addPdfAttachment() methods to PdfAWriter.
    • Added ModDate key to the PdfFileSpecification dictionary.
    • Add possible AFRelationship values to PdfName.
    • PDF/A-2 checks:
      • Extended graphics state
  • Changes made by Eugene Markovskyi
    • Bugfix: actual div element height wasn't computed correctly when the div element places partially on the page.
    • Reuse PFA1Checker logic in cases where PDFA-2 restrictions are conformant with PDFA-1
    • Fixed NullPointerException caused by the addDocument() method in PdfCopy.
    • PDF/A-2 checks:
      • Check File trailer, stream filters and implementation limits
      • Actions
      • XFA forms
      • Use of alternate presentations and transitions
      • Document requirements
      • Document permissions
      • Embedded files
      • Output intent
      • Color spaces
      • Transparency
      • Fonts
  • Changes made by Alexey Subach
    • Added MultiFilteredRenderListener class for PDF parser.
    • Added GlyphRenderListener and GlyphTextRenderListener classes for processing each glyph rather than processing chunks of text.
    • Added method getMcid() in TextRenderInfo.
    • Fixed some error messages.
  • Changes made by Raf Hens
    • Use logger to print exceptions for PdfReader debugmode.
    • Fixes and translations for the error messages.
  • Changes made by Kevin Day
    • Bug fix: resource leak when many inline images were in content stream
    • Bug fix: non memory map related IOExceptions were being silently swallowed in MappedChannelRandomAccessSource
    • Bug fix: closing resources properly when exceptions happen
  • Changes made by Bruno
    • Fixed a bug in writeSelectedRows() involving colspan.
    • Code contibution by Kwinten Pisman: Build_Props and App dictionary that allow you to add information about the application that signed the PDF to the signature dictionary.
    • The ISO specification on file identifiers says: "The first byte string shall be a permanent identifier based on the contents of the file at the time it was originally created and shall not change when the file is incrementally updated. The second byte string shall be a changing identifier based on the file's contents at the time it was last updated. When a file is first written, both identifiers shall be set to the same value." With this change, we make sure that the two identifiers have the same value when the file is created from scratch.
    • It doesn't make sense to set full compression after the document has been opened. This fixes a problem introduced by a change the ensured better handling of generation numbers.
    • Avoiding a NullPointerException in PdfXConformanceImp.

XML Worker 5.4.5

  • Changes made by Eugene Markovskyi

    • Fixed a problem with image size in table cells.

    • Fixed incorrect line wrapping: a span element is not enclosed by a paragraph.
  • Changes made by Alexey Subach
    • Fixed a bug with font weight/style in ChunkCssApplier.
    • Fixed bug with margin and margin-left/right/top/bottom CSS property priorities.

iText RUPS 5.4.5

  • Changes made by Bruno Lowagie
    • Fix to make sure the structure tree is read: Although /S is a required key in a /StructElem dictionary, it may not be present in dictionaries with another type.

Compatibility Matrix

Use our easy compatibility matrix tool to find more information about the compatibility between your current iText Core/Community version and our add-ons and 3rd-party standalone applications

Add-ons 7.1.10

iText 7 Core


iText 7 Community








More add-ons 7.1.10










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