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.
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.
Changelog
iText 5.4.5 Core
Changes made by Alexander Chingarev
Fixed issue with removing
null
objects when usingPdfCopy
/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 fromParagraph
/NoNewLineParagraph
toPhrase
. - Improve merge fields logic for tagged documents.
- Improve
PdfCopy
forPdfNull
objects in tagged mode. - Fixed document leading calculation.
- Add
LineSeparator
constructor fromFont
. - Fix behavior of underline style for
Chunk.NEWLINE
. - PDF/A-3 support
- Added
PdfA2Checker.checkAnnotation()
. - Added
getDirectDictionary()
method forPdfAChecker
. - Added
PdfArray
caching inPdfAChecker
. - Added PDF/A specific
addFileAttachment()
/addPdfAttachment()
methods toPdfAWriter
. - Added
ModDate
key to thePdfFileSpecification
dictionary. - Add possible
AFRelationship
values toPdfName
. - 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 theaddDocument()
method inPdfCopy
. - 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
andGlyphTextRenderListener
classes for processing each glyph rather than processing chunks of text. - Added method
getMcid()
inTextRenderInfo
. - Fixed some error messages.
- Added
- Changes made by Raf Hens
- Use logger to print exceptions for
PdfReader
debugmode. - Fixes and translations for the error messages.
- Use logger to print exceptions for
- Changes made by Kevin Day
- Bug fix: resource leak when many inline images were in content stream
- Bug fix: non memory map related
IOException
s 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
inPdfXConformanceImp
.
- Fixed a bug in
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.
- Fixed a bug with font weight/style in
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.
- Fix to make sure the structure tree is read: Although