iText 7.1.6 is the sixth maintenance release for iText 7.1 Core/Community. We're also updating the add-ons pdfHTML to 2.1.3, pdfCalligraph and pdfSweep to 2.0.4.
SVG support was greatly improved in this release. We now support elliptical paths, S/s and T/t commands for relative/absolute smooth cubic and relative/absolute smooth quadratic Bézier paths, and SVG transparency is also now supported.
In total, about 60 tickets were closed, many of which were of significant complexity.
kernel
- Improve text extraction with Type 3 fonts
- Improve ToUnicode for Type0 fonts without subset
- Preserve border, background and font for FormFields
- Allow unknown annotation type in PdfAnnotation#makeAnnotation()
layout
- Update a table's fixed-layout algorithm in case a negative width remains
sign
- Embed OCSP response for all certificates in the chain in PdfSigner#signDetached
- Improve OCSPVerifier responder certificate verification
- Cover the case of updating LTV verification data of PDF when DSS does not contain VRI entry
svg
- Fixed outstanding issue when handling closePath and moveTo that sometimes resulted in line-joins being applied incorrectly
- Support S/s (relative/absolute smooth cubic Bézier path), and T/t (relative/absolute smooth quadratic Bézier path) commands
- Transparency support - colors can have an alpha component, and objects can have a fill-opacity or stroke-opacity
- Update of Text element handling to allow TSpan support + Initial TSpan support
- Implement relative values for Svg Path commands C/L/M/S e. C(absolute), c(relative)
- Added support for Elliptical paths
- Improve handling of inline blocks with display:block
- Do not reset the alignment for RTL elements if it's present
- Fix anchor links handling with destinations on elements
- Improved support for Bengali script
- Added the ability to redact images with transparencies
Bug
- [DEVSIX-1513] : pdfHTML incorrectly reuses fonts for input fields.
- [DEVSIX-1827] : Fix infinite loop in typography.shaping.Shaper#applyAllFeaturesAtOnceOptimally on devanagari text processing.
- [DEVSIX-2241] : SVG: fill-opacity not working.
- [DEVSIX-2022] : PdfCleanup does not redact transparent images.
- [DEVSIX-2069] : AcroFormField filled with Hebrew - Wrong glyphs.
- [DEVSIX-2190] : Text inside text tags is not picked up and processed.
- [DEVSIX-2344] : SVG: wrong output for line commands with negative values with close path (z).
- [DEVSIX-2367] : SVG: String index out of range: 0.
- [DEVSIX-2393] : PdfFormField Appearance: new line.
- [DEVSIX-2477] : Text is processed incorrectly in SVG.
- [DEVSIX-2545] : Avoid breaking a line at a hyphen when it is used as a date separator.
- [DEVSIX-2616] : Specific certificate validation failed.
- [DEVSIX-2625] : PDFs with wrong /Contents content are failed to be closed correctly.
- [DEVSIX-2642] : final Arabic characters in isolated form when they should be final, and vice versa.
- [DEVSIX-2644] : Remove excess xref entries in copying XObject.
- [DEVSIX-2646] : Exception - Tag structure flushing failed: it might be corrupted.
- [DEVSIX-2651] : Avoid breaking a line at an hyphen used to denote a minus sign.
- [DEVSIX-2659] : When creating a digital signature the iText Library does not embed the OCSP response for whole chain.
- [DEVSIX-2674] : Dictionary Key is not a name exception thrown on seemingly valid PDF invoice.
- [DEVSIX-2681] : layout + pdfCalligraph + html2pdf : Page counter changes its content which has been used by pdfCalligraph to update bidi levels.
- [DEVSIX-2683] : Signature Dictionaries can only contain valid PDF objects.
- [DEVSIX-2684] : Duplication values for PDF extract texting..
- [DEVSIX-2696] : pdfCalligraph : iText fails on text with undefined direction.
- [DEVSIX-2700] : Problems with conjuncts in bengali text.
- [DEVSIX-2710] : OCSPVerifier.Verify method checks the expiration date of the response issuer certificate based on the current date.
- [DEVSIX-2717] : Include styled-xml-parser and svg in iText 7 ReadMe.
- [DEVSIX-2718] : SVG<path>: tops of figures in image are ?ut.
- [DEVSIX-2721] : Validation conflicts between Adobe and iText PDFA3.
- [DEVSIX-2741] : Not setting of black color explicitly causes wrong colors on forms flattening.
- [DEVSIX-2751] : Font color isn't set for form fields having both Comb flag and positive MaxLen value.
- [DEVSIX-2773] : The issue is that iText loosing spaces during text extraction. The example below is using enclosed PDF file..
- [DEVSIX-2774] : HTML anchor links not working for destinations assigned to elements handled by SpanTagWorker.
- [DEVSIX-2777] : layout : in different classes iText uses different criteria to consider a font to be bold.
- [DEVSIX-2819] : pdfCalligraph : ZWNJ is not processed correctly.
- [DEVSIX-2826] : Append Mode: /Name entry in catalog not marked as modified when files have been attached to a document.
- [DEVSIX-2830] : All page annotation objects are updated in append mode if page#getAnnotations is called.
- [DEVSIX-2806] : pdfHTML: do no reset the alignment for RTL elements if it's present
- [DEVSIX-2809] : typography: process Bengali-e letter correctly in the beginning of a word
New features
- [DEVSIX-2611] : SVG paths: smooth curves (S and T operator).
Tasks
- [DEVSIX-2267] : Implement relative values for Svg Path instruction C/L/M/S e. C(absalute), c(relative).
- [DEVSIX-2268] : SVG: Paths A operator.
- [DEVSIX-2271] : SVG: Tspan element.
- [DEVSIX-2479] : SVG: Support (x y)+ parameters in moveTo operator.
- [DEVSIX-2505] : Add basic tests for deferred signing in `sign` module.
- [DEVSIX-2656] : Investigate use of MethodHandle in iText 7.
- [DEVSIX-2775] : Investigate cmap resources in io.
Improvement
- [DEVSIX-2457] : FormField setValue shall keep text color.
- [DEVSIX-2590] : support transparency in SVG: rgba and opacity.
- [DEVSIX-2594] : Handle nonivertible matrices differently: ignore the content after them rather than throw an exception.
- [DEVSIX-2610] : PdfA + barcodes : there is no way of setting the barcode's font.
- [DEVSIX-2637] : Improve memory usage for FontRegisterProvider#registerFont() .
- [DEVSIX-2650] : Make PdfPage more tolerable to invalid Media Box entries.
- [DEVSIX-2711] : Fixed layout algorithm processes percent-values incorrectly.
- [DEVSIX-2737] : Inherit MaxLen property for from fields.
- [DEVSIX-2744] : Improve SignatureUtil#verifySignature and #signatureCoversWholeDocument documentation.
- [DEVSIX-2746] : html2pdf : support images with display: block inside a paragraph.
- [DEVSIX-2753] : pdfHTML : iText should default input tags with invalid type.
- [DEVSIX-2780] : Fix ToUnicode stream generation in case full font.