Release iText 5.5.3
In the previous release, we focused on XML Worker parsing HTML and CSS. For this release, we focused mainly on XFA Worker. XFA Worker is a closed source add-on written on top of iText.
Release Notes
XFA Worker 5.5.3
- We've made the JavaScript interpretation more flexible, fixed page breaking mechanisms and issues with tables, and so on...
- All of these changes resulted from support tickets posted by customers.
iText Core 5.5.3
We've solved some problems when merging PDFs with interactive features using PdfCopy.
We've added support for flattening annotations for which appearances were defined.
- We've made form-filling less dependent from the NeedAppearances flag to avoid confusion.
- We've fixed a problem that occurred when the rectangle of a field's widget annotation differs from the bounding box of its appearance.
- We've discovered that our PDF/A checker was too strict in some cases.
- We've fixed a problem with Datamatrix matrix codes. And we've further improved the PDF parsing functionality concerning inline images.
RUPS 5.5.3
We've made RUPS more user-friendly by adding short-cuts and menu entries for instance to open the PDF in a PDF viewer.
We've also made it easier to navigate through a document.
XML Worker 5.5.3
We've added some extra CSS functionality involving images that was overlooked in the previous release.
Changelog
iText 5.5.3
Changes made by Alexander Chingarev
Added
IM
(ImageMask) as a name toPdfName
.- Change of the access modifiers to
public
for theescapeString
methods in thePdfContentByte()
class and migration of these methods to theStringUtils
class. - Bugfix in
CompareTool
: proper comparison ofnull
PDF objects. CompareTool
refactoring.
- Changes made by Pavel Alay
- Fixed issue in datamatrix barcode. In some special cases the last symbols should be coded in ASCII, instead of placing Unlatch symbol.
- Fixed issue with
PdfCopy
when merging fields with the same name. - Fixed issue with
PdfCopy
where annotations got lost because of confusingPdfIndirectReference
andPRIndirectReference
in theupdateAnnotationReferences()
method. - Fixed issue with
PdfCopy
when copying some types of AcroFields (comments and markup). - Changed the type of the permissions value from
int
tolong
for 128-bit ARC4 passwords (See question iTextSharp cannot open files with password if 128 bit rc4 on StackOverflow). - Fixed issue with
PdfStamperImp
: Regenerate fields and add/Matrix
in case the size of the field's rectangle and the bounding box of the appearance stream are different. - Fixed issue with form field creation in PDF/A (adapting the PDF/A checkers).
CompareTool
improvement: decode streams before comparing.
- Changes made by Eugene Markovskyi
- Fixed the
PdfReader
constructor that uses an external decryption process by adding aCertificate
as a parameter as the certificate is always needed for correct decryption.
- Fixed the
- Changes made by Paulo Soares
- Fonts: write text by glyph id.
- Changes made by Raf Hens
- Try to generate appearances when flattening, to avoid the many questions about the missing appearances when the document itself thinks that no appearances are needed.
- Changes made by Michaël Demey
- Made the process of getting the current iText version synchronized.
- Added the
setVisibleTopChoice()
method toTextField
. This sets a choice field list's first visible option. PdfCopy
didn't keep track of the current page number in itswriter
instance.- Added an extra check for the
isTagged()
method. - Fixed issue with the "spacing after" functionality.
- Deal with floating elements inside a
Paragraph
before finalizing the process of adding that paragraph. OCGRemover
now removesOCProperties
if the last OCG got deleted. Also deletespagemode
if it was set toUseOC
(the default isUSENONE
, but this is an optional entry).- Flattening of annotations with appearance streams is now supported.
- Fixed an issue where iText continued reading after an unsupported inline image was found, resulting in the exception "Could not find image data or EI". This fix stops reading after an unsupported image was encountered. The fix was improved by Kevin Day.
- Sometimes the height check in `PdfDocument` exceeds the page height in cases where no content was added. This resulted in an empty page. This undesired effect was fixed.
- Changes made by Kevin Day
- Fixed issue with
FileChannelRandomAccessSource
: throw checkedIOException
for 0 size files instead of theIllegalArgumentException
that was thrown, which could result in the underlying channel not being released by the caller. - More refined check of whether the inline image stream has been fully read or not when parsing PDFs.
- Fixed issue with
XML Worker 5.5.3
- Changes made by Eugene Markovskyi
- The creation of a PDF table was moved to a separate method to allow customization.
- Processing of the start attribute in an ordered list.
- Changes made by Michaël Demey
- General cleanup of
ImageCSSApplier
- CSS for borders is now also applied to images.
- Automatic scaling of images has been turned off.
- Added support for the align attribute in paragraph and only override the alignment if its alignment isn't the default.
- General cleanup of
iText RUPS 5.5.3
- Changes made by Michaël Demey
- Added the option to open in pdf viewer functionality added using ALT+O as short cut or using the menu.
- Casting the permissions to
int
following the change in iText core. - RUPS now disables and enables menu items when appropriate ("Save as" and "Open in pdf viewer").
- RUPS now ignores recursive nodes in the PDF Tree when navigating with a keyboard. I.e. RUPS doesn't jump to the referenced node when navigating using the arrows keys. RUPS still jumps to the referenced node when using a mouse.
- If an expanded node has a single child, RUPS now automatically expands that child node.
- Improved the position of dialogs.
XFA Worker 5.5.3
(This is a closed source project on top of iText and XML Worker.)
- Changes made by Eugene Markovskyi
- Fixed issue with a table that is not inserted on the correct place on the first page, but moved to the next page.
- Zero line-height for paragraphs is ignored.
- Processing of the break conditions (e.g. "break after") is improved; break the page if there is a targetType without target (it seems Acrobat has the same behavior).
- Added support for PageArea with multiple ContentArea elements.
- Rich text: the first
element is ignored to mimic Adobe Acrobat behavior. - Introduced processing of start attribute an in ordered list.
- Move or duplicate table cell pre-processing to the "place" stage.
- Fixed an issue involving empty space after table leader.
- Fixed an issue causing incorrect pagination.
- Improved the page breaking mechanism.
- Improved the way table borders and their headers are drawn, as well as how tables are distributed over different pages.
- Changes made by Pavel Alay
- Fixed issue with the x property of a row subform.
- Changes made by Alexey Subach
- Fixed issue with table cells that weren't hidden properly.
- Removed unnecessary hashset population in
SubFormPositioner
. - A new interface
FormNode
has been added to allow handlingJS
as well asTemplateTag
. By default,XFATemplateTag
will be returned, meaning that we will continue working in the old mode, but with a different interface. However, if some properties are changed via JavaScript, the necessary part of the template will be copied into the JS structures and the underlyingFormNode
implementation will be aRhinoJsObject
(more specifically aJsNode
). - Time and memory optimization when positioning and drawing objects using JS.
- Removed unnecessary constructors removed from
JsNode
. - Added possibility to change properties for multiple nodes in
JsNode
. - Prototyping subformset.
- Fixed an issue when setting property appliers in
RhinoJsNodeList
. - Fixed a formatting issue that caused displaying decimals as 00,50 instead of 0,50.
- Generate layout based on x, y, w, h element properties that could be changed by JS.
- Fixed issue regarding drawing borders of UI elements for elements.
- Fixed an issue with a double footer generated on the last page (use only one html root tag in rich text).
- Fixed a problem with underlined elements. Embedded elements now have height.
- Fixed the
XFATemplateTag
methodsgetX()
and getWidth(). - Fixed issue regarding dynamic table layout (table cell moved to the right; fields had different borders).
- Switch to using standalone Rhino library (Rhino 1.7R4).