Performance improvement: replacing AccessibleElement UUID with AccessibleElementId
Table borders and backgrounds in tagged PDF are now artifacts.
Tag image correctly when adding it directly to document (not wrapping to chunk).
Fixed a problem with incorrect link insertion into structTree.
Fix: annotation structures are now properly copied when merging documents with PdfCopy/PdfSmartCopy.
Removed obsolete PdfCopy functionality.
Fixed issue with mixed tages when merging tagged PDF documents with PdfCopy.
PdfCopy: introduced a method that allows you to add a document, preserving the form fields.
Content parsing: fix for color parsing.
Changes made by Pavel Alay
Fixed bug in GetCOName() in PdfCopy (formerly in PdfCopyFields)
Improve memory usage in PdfStructureElement.
Changes made by Eugene Markovskyi
Replaced the iText XMP implementation with Adobe's XMP Core library
Fixed incorrect line wrapping for Chinese characters. Type0 DocumentFont should use the metrics of DescendentFont(/DW, /W...)
instead the predefined ones in cjkMirror(CJKFont). Unfortunately the fix look like a workaround because we've tried to keep backward compatibility.
Refactoring of the font functionality is scheduled for 2014.
Changes made by Raf Hens
Respect the NeedAppearances setting of a PDF that is read, set generateAppearances accordingly.
PdfCopyFields: Enable NeedAppearances in the output when one the input documents has it enabled.
Fix for inline images that have 1 byte more than expected.
Added support for TIFFs with "new style" JPEG compression and photometric RGB.
Changes made by Michaël Demey
PdfWriter.getBoxSize now has an overloaded method that returns the intersection of a box (crop, bleed, art, ...) with the given rectangle.
Changes made by Bruno
Fix: Signed attributes aren't always DER encoded.
Fix: Make sure the correct digest algorithm is used; subfilter adbe.pkcs7.sha1 only supports SHA1 as subfilter.
Make sure you can use OCGRemover in case the /Contents of a page is represented as an array instead of as a stream.
OCG functionality: Add some checks to avoid a NullPointerException.
Experimental code to flatten forms in a tagged PDF, preserving the accessibility (Section 508).
Dealing with PDFs of which the root of the page tree refers to an object with number 0 (invalid PDF syntax), throwing an InvalidPdfException instead of a NullPointerException.
Dealing with PDFs of which the root of the page tree refers to an object that doesn't exist (no page tree available), throwing an InvalidPdfException instead of a NullPointerException.
Dealing with PDFs of which the root dictionary is missing, throwing an InvalidPdfException instead of a NullPointerException.
When an InvalidPdfException is encountered, objects shouldn't just be considered as being "null" (unless in debugmode, for instance when you want to look at the file using RUPS).
Bugfix: The end-of-line marker may not be taken into account when measuring the length of a stream.
Bugfix: flattening fields didn't work if a combined field/widget dictionary was present in the Fields array, but not in the page Annots.
Fixed ArrayIndexOutOfBoundsException reported by Ivan Gregor in case an existing PDF has empty ID values.
PdfImage: moved the code that deals with transparency outside the "Raw Image" area as proposed by Ivan Gregor.
iText RUPS 5.4.4
Changes made by Michaël Demey
UX: focus to password field on password protected files
UX: move cursor to the start of the content when opening a content stream
Added copy and clear functionality to the console panel.
Added copy to clipboard functionality to the stream panel. Copying with no selected text copies the entire text.
Added save to file to stream panel context menu (also allows saving only a selection of the complete stream).
Added save to file functionality form streams in the PdfTree panel.
Changes made by Bruno Lowagie
Cleaned up metadata, such as a reference to an old version number as well as to the "working title" for RUPS (my initial idea was to call it "Trapeze").
Bugfix: password protected files couldn't be opened (not even after providing a correct password).
Bugfix: Dictionaries weren't rendered correctly when present in a content stream.