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.2, pdfCalligraph 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.
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
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"
- 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 now supports redacting all annotation types
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.