Release iText 5.5.4

Release of iText 5.5.4 on December 17, with this release we are adding new features to XFA worker based on requirements of our customers.

16th December 2014
admin-marketing

Release of iText 5.5.4 Core on December 17, exactly 3 months after the previous release. If you have a look at the changelog, you'll notice that XFA Worker has received a lot of attention in this release.

Our initial XFA customers are very happy with the functionality we provided in previous versions, but new XFA customers are discovering more and more features in the XFA spec and we're consistently adding these features to XFA worker.

Release notes

We're releasing iText 5.5.4 on December 17, exactly 3 months after the previous release. If you scroll down in the changelog, you notice that once again, XFA Worker has received plenty of attention. Our initial XFA customers are very happy with the functionality we provided in previous versions, but new XFA customers are discovering more and more features in the XFA spec and we're consistently adding these features to XFA worker.

But let's focus on the open source part of iText:

The most promising new feature is hidden in a single line: Added PDF "clean up" functionality that can be used for redaction. We don't have any examples yet, but it seems that more and more people are asking for functionality that allows you to remove content from a PDF. With "to remove", we don't mean "covering it with a colored rectangle", but to actually remove content from the PDF's content stream. Currently, we allow removing content based on redaction annotations as well as based on rectangles you can define in your code. This functionality is currently only available in the Java version, it hasn't been ported to C# yet (it's on our TODO list). Once we have some examples, we count on your feedback to improve this functionality.

Our efforts with respect to PDF/A support seem to be appreciated. We've received interesting feedback and... some bug reports. We fixed problems with images in PDF/A-1A, problems with combinations of PDF/A-2 and signatures, we've added ZUGFeRD extension levels, and so on... On a related note: we've added some fixes that help people to avoid a common pitfall when manipulating a Tagged PDF document. When creating PDF from HTML, we now take the alt value of an tag into account.

Some languages have a "right to left" writing system that can be set with the `dir` attribute in HTML. We've now added support for this attribute in XML Worker, and while we were at it, we've added support for justified text when writing from right to left.

We've discovered that some people were using the `LargeElement` functionality for `PdfPTable`s in a way that made them lose a row and/or a header. We applied a fix so that this wouldn't happen anymore in the future.

We've improved `PdfGraphics2D` when using font families for which there are no fonts available for every style (for instance: no bold font, no italic font, or not bold-italic font).

iText 5.5.4

  • Ignore broken annotations when flattening FreeText annotations.

  • Do not add DigestValue, DigestLocation and DigestMethod fields when signing PDF documents of version 1.6 and higher as it breaks PDF/A-2 conformance.
  • PdfAChecker threw PDF/A-2 conformance exceptions when a PdfAction chunk was added to the document.
  • CompareTool refactoring: methods for object comparison have been made public.
  • Improved the TextRenderInfo class regarding the calculation of widths of text snippets and unsupported encodings.
  • Fixed an issue when searching for a CJK compatible font.
  • Added a marker for those parts of the code that aren't compatible with Android.
  • Fixed the exception "alt.entry.should.specify.alternate.description.for.figure.element" for PDF/A-1a file creation.
  • Fixed java.lang.IndexOutOfBoundsException when validating signature conformance to PDF/A-2 (reported by Axel Burri)
  • Added ZUGFeRD extension levels (basic, comfort, extended).
  • Added PDF "clean up" functionality that can be used for redaction.
  • Fixed a text overlapping issue in the Div layout. The issue used to occur if a paragraph overflowed a page bottom boundary only with "spacing after".
  • Fixed an issue with fonts that weren't being embedded in specific circumstances.
  • Added support for RTL in a bulleted list and processing of the "dir" attribute in the table-tag (XML Worker). Improved table alignment in case of RTL direction.
  • Improved Barcode128: add possibility to strictly use provided code set (A, B, C). AUTO mode is left for backwards compatibility as default mode.
  • Added an isWordSplit() method to ColumnText to check if any word was split into several parts (if there was not enough width for the whole word).
  • Support of justified alignment for right-to-left text.
  • Added new pdf names (RO, REDACT, OverlayText, Repeat) and changed the return type of the PdfContentByte.addFormXObj() method so that it returns a PdfName instead of void.
  • For some reason, we explicitly forbid to change the dimensions of a push button. However, I do not remember this reason. See also iText: button resize affects label on StackOverflow.
  • Making sure that the getDigestAlgorithm() returns SHA1withRSA if the constructor with params (byte[], byte[], String) is used.
  • Updated PdfStamperImp so that a PDF is automatically tagged when a Tagged PDF is being manipulated (instead of having to enable tagging manually).
  • Fixed a typo in the string that is used to indicate a col span: it was Colspan; it's now ColSpan.
  • Bugfix: the length of a stream could be defined as a negative length.
  • An incomplete PdfPTable would sometimes ignore headers and drop the first rows of each page.
  • Some changes to PdfGraphics2D concerning manual creation of bold & italic fonts when there are incomplete font sets (e.g. only plain & bold, or only plain & italic).
  • PdfGraphics2D: moved the underline a bit lower so that manually created bold fonts do not overlap with the underline.
  • PdfGraphics2D: removed restriction that a bold font will only be simulated if we have a custom strokeWidth.
  • Added the PdfName for the Summary tag that can be set to a PdfPTable in a Tagged PDF document.
  • In Tagged PDF, a PdfPTable must have an Owner entry (/O) in its element dictionary for Acrobat to consider the table valid, otherwise the Summary check will fail.
  • Make it possible for users who already have a Random Access File to still take advantage of the createBestSource() logic

XML Worker 5.5.4

  • Added support for RTL in a bulleted list and processing of the "dir" attribute in the table-tag (XML Worker). Improved table alignment in case of RTL direction.

  • Image alt text is now set onto the image object when creating Tagged PDF.
  • HtmlPipelineContext now uses the ImageProvider when it is explicitly set, not the default AbstractImageProvider.
  • XML Worker now recognizes dir="rtl", both as an HTML attribute and a CSS property, for and tags, in addition to the already existing functionality
  • Many questions on StackOverflow reveal a need to parse a snippet of HTML into a list of Element objects. That's why we've added a convenience method to XMLWorkerHelper that takes a String of HTML and a String of CSS and returns a list of Element objects

iText RUPS 5.5.4

XFA Worker 5.5.4

(This is a closed source project on top of iText and XML Worker.)s.

  • Avoiding npe's when dealing with invalid images.
  • Making file a local variable and not a static variable
  • Adding a closeOperation on startApplication
  • Fixed invalid table rendering (header) and page breaks
  • Changed the bounding box calculation on the page border. Our behavior differs from what Acrobat does, but it helps us to get element boundaries that look better.
  • Table cell borders were not smoothed out after splitting.
  • Fixed a text overlapping issue in the Div layout. The issue used to occur if a paragraph overflowed a page bottom boundary only with "spacing after".
  • New XFA tag structures added to JS scripting.
  • Fixed a problem with invalid footers.
  • Support for optimized re-layout after event scripts evaluation. Split the JS evaluation into several stage: initialize. Ready and etc.
  • Fixed unnecessary extra border line created in table.
  • Fixed an issue with fonts that weren't being embedded in specific circumstances.
  • Added support for RTL in a bulleted list and processing of the "dir" attribute in the tables.
  • In specific cases, XFA Worker dropped sections when flattening PDF.
  • Fixed dynamic rows rendering problem (tables).
  • FormCalc2JS: Wrapping of accessors. "accessor" converted to ""accessor""
  • FormCalc: "Null" is not a defined exception
  • Improved handling of overflow tag.
  • Fixed data formatting issue. "s" is added to the value.
  • Fixed JS DataBinding. Incorrect rawValue.
  • JsInstanceManager: addInstance method adds new node to the end of parent node.
  • Fixed some additional RTL issues
  • References like [parentElement].variables.[variableName] were not resolved properly
  • HAlign should not be applied to positioned Draw element
  • Page break was not triggered when on the first page.
  • Fixed a problem involving missing empty pages.
  • Fixed a font-related problem causing a "Too Many Open Files" exception.
  • Fixed incorrect position of the leader element.
  • Fixed problem with incorrect date value and extra empty line.
  • Code128 Barcode differs from what can be viewed in Adobe Acrobat. Improved barcode128 support.
  • Do not skip empty patterns.
  • Speeded up Rhino script evaluation.
  • Fixed incorrect table cell rotation and borders, text wrapping in header.
  • Fixed invalid barcode rendering. Do not draw barcode with empty data.
  • Support for numeric field with pattern num.integer{}. Default numeric pattern has been added.
  • Dynamic ordered list generation.
  • Add dataNode JS property - build Data nodes.
  • Apply dynamic margins in Positioner.
  • Fixed incorrect JS structures that were generated when child have names same as parent's properties.
  • Fixed invalid border rendering in specific table instances.
  • Refactoring to new FormNode structures.
  • JS view scope of untitled subform children.
  • More precise border drawing for comb element.
  • JavaSript: Accessors that start with "_".
  • Support for Instance Managers for subforms.
  • Added xfa.datasets.* to the tree.
  • Simulate Acrobat behavior with $ in number pattern when data is not correctly formed.
  • Add new nodes to prototype template.
  • Add $data object to resolve datasets correctly.
  • FormCalc2JS: Variable without "var" keyword "s=$". Check for undefined values assignment.
  • Add Len FormCalc function.
  • Fix HasValue FormCalc function.
  • New app configuration added, host config modified.
  • Resolve instance managers from unnamed subforms correctly
  • Fix instance managers for multiplied subforms.
  • Fixed incorrect processing of zero{} pattern.
  • Added support for reading attachments: import attachment names into XFA fields.
  • Added support for XFA app and Host configuration.
  • JsInstanceManager: add removeInstance method.
  • Deep nodes resolving from unnamed subforms in searchByName() method.
  • Better support of items elements resolving (resolve both bound and display items by SOMexpression)
  • Removed invalid property definitions.
  • Implemented the fillColor property for subforms/fields.
  • Improved ResolveNodes: resolve expressions like #items[*].
  • Improved working with items (bound and display values).
  • Fixed incorrect Date Formatting in case only a value for the year was used.


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.6

iText 7 Core

7.1.6

iText 7 Community

7.1.6

pdf2Data

2.1.1

pdfHTML

2.1.3

More add-ons 7.1.6

pdfDebug

2.0.1

pdfSweep

2.0.4

pdfXFA

2.0.1

pdfCalligraph

2.0.4

Contact

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