Release iText 5.5.0
In 2013, we had 6 iText releases, numbered from iText 5.4.0 to 5.4.5. For the first release of 2014, we thought it would be a good idea to switch to iText 5.5.0. That way, we get an idea of the release year, just by looking at the number. But let's take a look at what's more important: what's new in this release?
We received plenty of feedback regarding the accessibility functionality that was introduced last year. The PDF/UA spec is relatively new and the ISO committee is still fixing a couple of issues that were discovered in the first version. The same goes for iText.
We've also released XML Worker, iText RUPS and XFA Worker (the latter is a closed source project).
Release Notes
iText 5.5.0 Core
- We discovered that backgrounds added to
Chunks
weren't marked as artifacts, attributes for Form XObjects weren't written correctly, and so on. - We also received some bug reports after the
PdfCopy
update, especially when merging forms. We've fixed these and a couple of other bugs. For example: there were problems if theNeedAppearances
flag was set for one of the original forms. - Furthermore, we've won another battle in the never-ending struggle to support different flavors of the TIFF format. We've solved 56 issues in total!
- We've extended the testing infrastructure. The existing
CompareTool
class has been moved to a separatetestutils
package. - And we've implemented the suggestion made by Valentin Ivanov and David Hook, allowing the use of an external decryption process (sorry for the delay, guys).
RUPS 5.5.0
- RUPS was originally an acronym for Reading and Updating PDF Syntax, but up until now, it wasn't possible to Update a PDF file.
- Michaël Demey has now introduced some functionality that allows you to change a dictionary (add, update, delete keys) and to save an altered PDF. He added more interactivity (short cut keys) and a way to consult the content of a PDF page as plain text.
XFA Worker 5.5.0
- As for XFA Worker, more and more customers are using dynamic forms as templates and XFA Worker to populate these templates with data with a PDF (or even a PDF/A Level A and PDF/UA) documents as final result.
- We also have an increasing demand for trial licenses, resulting in excellent reports of small features that aren't supported yet.
- In answer to the requirements of our paying customers, we've started developing
formcalc
support (thesum()
method and some arithmetic functions). - We received kudos for our work on XFA Worker from our customer at the US Courts, and we suddenly realized that prospective customers weren't able to see the progress on this product.
- With this release, we're also publishing the changelog for this add-on for iText.
Changelog
iText 5.5.0 Core
Changes made by Alexander Chingarev
Fixed some accessibility issues:Adding the PDF/UA identifier to the XMP metadata.
The background rectangle of a
Chunk
is now marked as an artifact.Attributes for Form XObjects (
PdfTemplate
) are now being written.Introduction of
Layout
for ownership.Don't generated nested tags in Tagged PDF page content (to make sure the Read Out Loud functionality works as expected)
Support for
BBox
attribute of structure elementSupport for "O" attribute for structure element
TrueType symbolic fonts should not be decoded when extracting text from PDF and encoded when writing text to PDF.
Bugfix
PdfCopy
: not checking if a page reference is null, ruined tags when concatenating tagged PDFs (reported on Stack Overflow; fix suggested by Michael Klink).Fixed issue with wrong appearance streams when merging documents containing same AcroField names.
Fixed merging issues when using
PdfCopy
in full compression mode.
Changes made by Pavel Alay
Moved the
CompareTool
class to a separatetestutils
package and introduced a generic superclass for tests.Updated the
CompareTool
functionality, adding methods to compare structure and content of Tagged PDFs, document info, links,...Extended the
toString()
method of thePdfAnnotation
class.Fix for bug with
checkEmbedded
file inPdfA3Checker
Fix for issue with Pdf/A cached objects in
PdfAStamper
reported on Stack Overflow
Changes made by Eugene Markovskyi
PdfDocument
: allowing character and word spacing in a broader context.Fixed some accessibility compliance issues, adding an
isInline()
method to theIAccessibleElement
interface.
Changes made by Alexey Subach
Introduced a new
PdfReader
constructor with a new interfaceExternalDecryptionProcess
, allowing to use BC'sRecipient
andRecipiendId
(based on suggestions by Valentin Ts. Ivanov and David Hook). Fixed bbox in image tag attributes.
Changes made by Raf Hens
Fixed a problem with
PdfCopy
and forms: enableNeedAppearances
in the output when one of the input documents has it enabled.Fixed a problem with the
getTiffImage()
method in theImage
class.Fixed a problem with keywords in XMP metadata: Dublin Core subject should be used for "keywords"
Fixed comma and semi-colon handling in XMP keywords
Improved producer line functionality
Improved the OSGi headers
Added method to set raw data stream as-is
Changes made by Kevin Day
CMapAwareDocumentFont
: if font space width isn't defined, use the default width for the font.PdfContentReader
: avoid exception when displaying an empty dictionary.
Changes made by Michaël Demey
Reworked old Info Dictionary code to avoid a
ClassCastException
inPdfStamperImp
.Added custom split character functionality to
DefaultSplitCharacter
.Images (more specifically TIFFs): Renamed
handleIncorrectImage
torecoverFromImageError
and changed the flow to a more logical flow according to its name.Added a workaround for parsing certain TIFFs with compression 3. The workaround is applied using the
recoverFromError
Boolean.Image
class: Removed useless pageNumber variable (and calculations performed to create it)Image
class: Removed use of deprecated RandomAccessFileOrArray constructor.Updated javadocs for
onStartPage()
method inPdfPageEvent
: it now mentions previously undocumented, but expected behavior for the first page.Added a value for the PieceInfo key to
PdfName
Added
PdfName.PIECEINFO
Add
document.isOpen()
check toPdfCopy.addDocument()
Changes made by Bruno
CompareTool
: Updated an exception message that wasn't very clear.Bugfix
Point
class: Using the wrong variables in the translate() method (reported by Michael Klink).
XML Worker 5.5.0
Changes made by Eugene Markovskyi
Letter-spacing support (for XFA Worker)
Changes made by Raf Hens
Support for element.class and element#id selectors
iText RUPS 5.5.0
Changes made by Michaël Demey
Fixed a
NullPointerException
in the mouse listener class.Fixed
ArrayIndexOutOfBoundsExceptions
in the PDF object panel.Fixed an
ArrayIndexOutOfBoundsException
thrown when reloading a document when a selection has been made in the PDF Object panel.Added autoselection when right clicking the mouse
Added functionality to save the opened PDF file to disk
Added functionality to delete entries in a dictionary
Added basic functionality to add a string to a dictionary
Added functionality to add entries (string, array,...) to a dictionary using
PdfLiteral
; excluded are:null
and indirect references.Added functionality to update values in dictionary entries.
Added keyboard shortcuts for opening and closing files
Added a plain-text representation of the loaded PDF
XFA Worker 5.5.0
(This is a closed source project on top of iText and XML Worker)
Changes made by Eugene Markovskyi
Accessibility compliance issues (see iText's new
isInline()
method in theIAccessibleElement
interface)Fixed incorrect display of in-line totals
Fixed incorrect height multi-line text
Fixed incorrect date formatting
Fixed positioning error for sub-forms
Fixed some minor JavaScript issues when flattening XFA
Fixed incorrect pagination of positioned layout with Group elements
Fixed table layout issue
Implemented JavaScript
resolveNodes()
method; improvedresolveNode()
logic; resolved indexed element.Letter-spacing support
JavaScript: Calculate tag support
Changes made by Pavel Alay
Fixed issue with date pattern
Fixed issue with choice button
Fixed issue with LocalePipeline
Changed default locale to en-US
Fixed issue with empty pattern
Fixed issue with unbreakable space as grouping symbol
Fixed number input and output formatting
Added arc element support
Add ChoiceList support
Add basic formcalc support:
sum()
and arithmetic operations.Add full support of
relevant
attribute.Add support of
LegacyPlusPrint
flag
Changes made by Alexey Subach
Move
num2date
,date
,DateFmt
functions toJsXfa
.
Changes made by Alexander Chingarev
Allow the output of tagged PDF
Fixed "check tagged structure" errors
Make sure we don't generate nested tags in tagged PDF page content