Release iText 5.4.3
We're launching the release of iText 5.4.3 and as promised, we've been working on PAdES-5 and PDF/A. We already supported signing XFA forms using XML-DSig, now we also have support for signing using XAdES (which is required to meet the PAdES-5 standard). For the moment, only BES is supported (EPES will follow).
In the next couple of releases, we'll continue working on PDF/A, more specifically on PDF/A-2 and PDF/A-3. Again, this doesn't mean, we don't support PDF/A-3 yet, as a matter of fact, iText is ready for the German ZUGFeRD standard.
Release Notes
iText Core 5.4.3
- We've been working on PAdES-5 and PDF/A.
- Now we also have support for signing using XAdES (which is required to meet the PAdES-5 standard). For the moment, only BES is supported (EPES will follow).
- As for PDF/A, iText will now make sure you can create documents that are fully compliant with PDF/A-1. That was already possible in the past, but iText didn't check if all the requirements for compliance were met, that was the responsibility of the developer. With the new release all these checks are done by iText.
- We switched from using BouncyCastle 1.48 to using BouncyCastle 1.49.
- We added some new functionality that allows you to reuse the existing signature appearance when signing a document, and to change the text for "location" and "reason" in the default appearance of a signature.
- We added a constructor to
PdfReader
that makes it easier to work in partial read mode. - The parser functionality can now also detect gray scale, RGB and CMYK colors (no indexed colors yet).
- We received a contribution from Deutsche Bahn introducing new rowspan functionality and a new table event that gets triggered after a table is split.
- We also removed some stuff, such as the
_LANDSCAPE
constants in thePageSize
class and the/ProcSet
entry in the page resources. - We discovered that:
the
replacePushbutton()
method didn't work in append mode,a
PdfDictionary
didn't know its type when the dictionary was obtained from an existing PDF,a PDF that uses ETSI extensions didn't add those extensions to its root dictionary,
it was possible to create a check box that didn't comply with ISO-32000-1,
We've fixed all these issues, as well as the following bugs:
PdfSmartCopy
had some problems that were introduced in an attempt to improve the performance of the concatenating process in one of the previous releases.the
getCheckField()
method inRadioCheckField
returned a constant value instead of the actual value.The Base64 encoded timestamp information needs to be a single line, and in our case, the signature was broken up into several lines.
XML Worker 5.4.3
XML Worker 5.4.3 only brings some minor changes:
- the SVG package was removed (it never worked and we didn't find any code contributors to help us fix it) and
- we fixed a problem with tables that caused an
ArrayIndexOutOfBoundsException
.
RUPS 5.4.3
- As for RUPS: it was released because we finally fixed the problem with pages not showing up in the pages table.
Changelog
iText Core 5.4.3
Changes made by Alexander Chingarev
Added Adobe's XML core library.
- PDF/A-related updates:
- PdfAStamper throws exception when trying to open non-PDF/A compliant document.
- Added PDF/A-1 verifications for file structure, graphics, transparency, annotations, actions, interactive forms and tagged PDF.
- Prevent writing structure element attributes if the PDF version is lower than 1.7.
- Link annotations aren't correctly tagged according to Acrobat verification tool.
- ZapfDingbats based characters for representing check marks are replaced with self-contained appearance streams.
- Changes made by Pavel Alay
- Improve handling of circular references in
PdfSmartCopy
, improve performance ofPdfSmartCopy
, clear serialized objects inaddPage()
method in case newPdfReader
. - XFA signing:
- small changes to XmlDSig.
- Add support of XAdES BES signatures.
- Add XmlDSig verification tool.
- Fix "setIdAttribute" issue.
- Improve handling of circular references in
- Changes made by Eugene Markovskyi
- Bugfix: tagged output causes inconsistent XMP metadata
BaseFont
: introduced a constant for thePARAGRAPH_SEPARATOR
character.FontSelector
: refactored the processing of characters to deal with a newline/carriage return problem.- Added tagging for Form XObjects.
- Changes made by Raf Hens
- Synced English and Dutch error messages.
- Change copyright year in the
Version
class. - Code contribution Deutsche Bahn Systel GmbH, Thorsten Seitz:
- Improved splitting for tables with row spans where
splitLate
istrue
. - Added an event that is triggered after a table is split, allowing modification to the part of the table that goes to the next page.
- Improved splitting for tables with row spans where
- Changes made by Michaƫl Demey
- Fix in
RadioCheckField
:getCheckField()
passed a constant parameter tosetCheckType()
instead of thecheckType
variable.
- Fix in
- Changes made by Bruno
- Fix
AcroFields
: thereplacePushbutton()
method didn't work in append mode. PdfDictionary
: Introduced acheckType()
method that looks for the/Type
entry ifdictionaryType
isnull
. This way the methodsisFont()
,isPage()
,isPages()
,isCatalog()
andisOutlines()
also work in case thePdfDictionary
is obtained from an existing PDF instead of an element of a PDF that is being built from scratch.- Digital signatures: allow people to define a different caption for the signing reason and location in the default signature appearance using the
setReasonCaption()
andsetLocationCaption()
methods. PdfSignatureAppearance
: Introduced asetReuseAppearance()
method that allows the reuse of the existing appearance of a signature field.RadioCheckField
: According to ISO-32000-1, the value of a check box needs to be either Off or Yes.- Added ETSI developer extensions when using signature functionality that requires adding those extensions.
- Added a
PdfReader
constructor that makes it easier to work in partial reading mode. PageSize
: deprecated special_LANDSCAPE
values.- Stop adding
/ProcSet
entry to page resources as this entry has been deprecated since PDF 1.4. - The PDF parsing functionality now supports parsing colors in the DeviceGray, DeviceRGB and DeviceCMYK color space (indexed color spaces aren't supported yet).
BaseColor
: thetoString()
method now returns a hexadecimal value.- Fixed bug in
TSAClientBouncyCastle
: lines may not be broken when encoding a password to Base64 (reported by Michael Klink) - Upgrade to BouncyCastle 1.49.
- Fix
XML Worker 5.4.3
- Changes made by Bruno Lowagie
- Removed the SVG code; it never worked and we didn't find any interested contributors to fix it.
- Changes made by Eugene Markovskyi
- Fixed the
ArrayIndexOutOfBoundsException
caused by tables.
- Fixed the
iText RUPS 5.4.3
- Changes made by Bruno Lowagie
- Reverted a fix applied in 5.4.2: the page table still wasn't correct and is now being created in a different way.