iText

Release iText 7.1.5

iText 7.1.5 is the fifth maintenance release for iText 7.1 Core/Community. We're also updating the add-ons pdfHTML to 2.1.2pdfCalligraph and pdfSweep to 2.0.3, and pdfXFA to 2.0.1

In total, about 50 tickets were closed, many of which were of significant complexity. 

iText Core/Community 7.1.5 for Java - for .NET

kernel

  • We can now also read MMType1 fonts (we treat them like regular Type1 fonts)

  • We now support 24bit and 8bit depth Transparent PNG images

  • A fix for a very rare yet stingy memory leak

layout

  • It is now possible to add a Link element to a Canvas

  • Improvements to Font parsing and resolving

  • Reported issues with character spacing and text chunk repositioning

sign

  • Fix security incident where our signature checker is too lenient. The CVE number for this vulnerability is pending.

svg

  • The much requested feature clipPath is now supported

  • Path operator improvements

Other modules

Small fixes for forms, pdfa, styled-xml-parser, and barcodes. Fixes in io are for pdfCalligraph

pdfHTML 2.1.2 for Java - for .NET


Features

  • support for SVG encoded in a data-uri

  • support for a table's caption element

  • support for border-radius on img tags

  • support for value in list items

Fixes

  • incorrect page-margin box dimensions calculation

  • bugs related to font providers, RTL, and property inheritance

  • "!important" CSS attribute ignores "display:none"

pdfCalligraph 2.0.3 for Java - for .NET

  • Fix for when GlyphLine content throws an exception if it contains an empty ActualText field

  • Thai mark combinations are now supported

  • Improved support for Hebrew table nesting

pdfSweep 2.0.3 for Java - for .NET

pdfSweep now supports redacting all annotation types

pdfXFA 2.0.1 for Java - for .NET

4 fixes for JavaScript evaluation problems (1 specifically for .NET)


Bugs:

  • [DEVSIX-2530] : Unconventional Rectangle definition in flattening logic causes text to be flipped.

  • [DEVSIX-2526] : Pushbuttons with empty /V cause a NPE when regenerating appearance.

  • [DEVSIX-2418] : Form Flattening failing if SubType doesn't exist in the appearance stream.

  • [DEVSIX-2421] : Appearance Stream can be a PdfDictionary or a PdfStream.

  • [DEVSIX-2408] : Appearance isn't regenerated for radio buttons after setting any property.

  • [DEVSIX-2506] : Replacing glyhline's content may result in an exception if it has an empty actual text field.

  • [DEVSIX-2368] : Thai mark combinations not working for specific font.

  • [DEVSIX-2405] : PdfCanvasProcessor throws exception when an empty path is closed in content stream.

  • [DEVSIX-2374] : Form filling of empty text fields copied in smart mode results in wrong appearances.

  • [DEVSIX-2137] : Out of Memory when Copying an XObject in Smart Mode.

  • [DEVSIX-1934] : Add 24 and 8-Bit Depth Transparent Image to PDF.

  • [DEVSIX-1889] : NullPointerException on optional dictionary (PdfTextExtractor).

  • [DEVSIX-2517] : Several issues with PdfOutline processing .

  • [DEVSIX-2552] : iText applies the characteristics of a chunk (ascender/descender/width/...) to a line even if in the end the chunk is moved to another line.

  • [DEVSIX-2525] : FontProvider in layout cannot be used with font-names or aliases that contain symbols other than [A-Za-z0-9-_].

  • [DEVSIX-2429] : Image shouldn't be forced placed if some content was already placed.

  • [DEVSIX-2486] : Impossible to add a Link element on Canvas.

  • [DEVSIX-2414] : Character spacing is not considered while applying justification.

  • [DEVSIX-2228] : ArrayIndexOutOfBounds in TableRenderer.

  • [DEVSIX-1830] : Interaction between TabStop and Table.

  • [DEVSIX-2172] : PDF/A-1b CheckField always on.

  • [DEVSIX-1883] : Hebrew tables not nested correctly.

  • [DEVSIX-2587] : Do not create a new FontProvider instance on ProcessorContext#reset.

  • [DEVSIX-2481] : Fix "overflow: auto | scroll" handling together with floating children elements.

  • [DEVSIX-2386] : inline CSS: "!important" makes pdfHtml ignore display: none property.

  • [DEVSIX-2118] : Background from parent inline element does not have any effect on child inline element.

  • [DEVSIX-2101] : Orphan line allignment in justified Hebrew.

  • [DEVSIX-2115] : PdfHtml: Alignment issue with hebrew.

  • [DEVSIX-2002] : pdfHtml: process block elements inside a paragraph.

  • [DEVSIX-2455] : PdfHtml does not support value attribute in an ordered list.

  • [DEVSIX-2470] : pdfSweep doesn't redact the text which bbox is a degenerate rectangle.

  • [DEVSIX-2465] : pdfXFA: static text doesn't get updated after javascript evaluation.

  • [DEVSIX-2504] : pdfxfa .isNull not working.

  • [DEVSIX-1755] : Infinite loop in XFAFlattener#Flatten when flattening document in .NET.

  • [DEVSIX-2059] : pdfXFA and XFAWorker IndexOutOfBoundsException when flattening form.

  • [DEVSIX-2422] : iText incorrectly validates signatures for doctored PDF files.

  • [DEVSIX-2285] : ResourceResolver do not respect absolute path without `file:/` on unix.

  • [DEVSIX-2462] : Avoid calling platform dependent ToString() method after porting in SVG.

  • [DEVSIX-2442] : SvgProcessingException: The close path operator (Z) may not be used before a move to operation (M).

  • [DEVSIX-2356] : Don't trim text with length 1 in SVG.

New features

  • [DEVSIX-2469] : Support MMType1 font type as document font.

  • [DEVSIX-1980] : Support border-radius on <img> tags.

  • [DEVSIX-2067] : SVG: support clipPath.

Tasks

  • [DEVSIX-2433] : RTL list item markers are not placed correctly.

  • [DEVSIX-2096] : Support SVG encoded as base64 inside img tag.

  • [DEVSIX-2375] : Functional tests for SVG clipping path element.

Improvements

  • [DEVSIX-2533] : Using layout.Document to place elements on already flushed pages throws not clear exception.

  • [DEVSIX-2136] : layout and html2pdf : Distinguish between FONT and FONT_FAMILY properties.

  • [DEVSIX-1896] : Support "nowrap" value of "white-space" css property value.

  • [DEVSIX-1050] : Html2Pdf: compute page-margin box dimensions according to spec.

  • [DEVSIX-982] : Html2Pdf: Support <caption> inside a <table>.

  • [DEVSIX-2474] : pdfSweep annotations redaction: generalize basic support for all annotation types.

  • [DEVSIX-2604] : Update affinetransform javadocs to specify rotations are done in radians.

  • [DEVSIX-2472] : Refactor TabsTest's source/dest folder names to be the same as the test's name.