iText 5.1.0 — XML Worker 0.9.1

Tags: ChangelogiText 5

iText 5.1.0

  • Changes made by Balder Van Camp
    • Introduced a new structure for the source code (for instance separating resources and data from source code).
    • Mavenization of the source code: POM.xml files
    • Code clean-up:
      • used entry set instead of keyset iterator (PdfDictionary)
      • replaced ArrayList by List (e.g. the getChunks() methods), HashMap by Map (e.g. in SimpleBookmark).
      • Made parameters final in some methods.
    • Bugfix of incorrect implementation of WebColors => The three-digit RGB notation (#rgb) is converted into six-digit form (#rrggbb) by replicating digits, not by adding zeros. For example, #fb0 expands to #ffbb00. This ensures that white (#ffffff) can be specified with the short notation (#fff) and removes any dependencies on the color depth of the display. @see
    • Added a profile named osgi that generates OSGi metadata (cf. mail on mailing-list by Pascal Leclercq)
    • Add logging interface and a logging factory for simple logging. Users/developers should register their implementation of com.itextpdf.text.log.Logger to the LoggerFactory. Their implementation can use their favorite logging framework. In itext it can be used in a class like this: private static final Logger logger = LoggerFactory.getLogger(); This was provided for XMLWorker, it's used in xmlworker, but in the future, it could be useful in itext too. Currently it only contains one method 'log' to log things. Could be extended later on to info, debug, error,...
  • Changes made by Paulo Soares
    • TIFF: Fix to read CCITT G3 images.
    • Support for ToUnicode with single byte fonts (Gilles Mazoyer).
    • Temporary fixes to the old HTMLWorker: b, i, sub and sup must propagate font attributes like size, colspan and rowspan can't propagate to nested tables.
    • Ignore Encoding in CFF fonts.
    • Better treatment of unmappable characters (in PdfEncodings).
    • Fixed the problem that subset CFF fonts didn't show up in Acrobat 9 or later.
    • Added support for AES-256 encryption (R=5).
    • Opening an AES-256 encrypted PDF with a null password would throw a null exception. It will now behave correctly and throw a BadPasswordException if the password is wrong.
    • Include all the certificates in the signature (Vroonen Julien).
  • Changes made by Mark Storer
    • Added PdfReader.getPageResources() with JavaDoc and a test to see that it was Actually Working (to some degree).
    • Added support for character spacing, based on request from itext-questions mailing list. Still missing support for a number of Chunk attributes.
  • Changes made by Kevin Day
    • PDF parsing: rudimentary handling of indexed color spaces for determining inline image lengths
    • MessageLocalization was killing backslashes in input strings
  • Changes made by Bruno Lowagie
    • Fixed bug 3147227: TYPE_BYTE_BINARY images forced to Black and White, even if they have more than 1 bpc.
    • Changed listeners from private to protected in Document.
    • Bugfix: the combination of using horizontal scaling and extra character space caused text to fall off the page (bug reported by Emiel Ackermann).
    • Added missing file headers; updated all file headers changing 2009 into 2011, and replacing the vague "you must retain" by "a covered work must retain" in the part about the producer line. The comment sections for the different VERSION constants were changed too to reflect the actual owner of the IP. Also: iText® is now a registered trademark.
    • Added a NumberArray class (for instance as superclass for PdfRectangle).
    • PdfWriter: added a method allowing you to add extra entries to the page dictionary. This method was used to refactor the way transition, duration, thumb images, userunit and pagemetadata are set.
    • PdfTemplate: added a method allowing you to add extra entries to the form XObject dictionary.
    • Moved RichMedia dictionaries to xtra.jar
    • Introduction of Geospatial PDF dictionaries in xtra.jar
    • Complete refactoring of the PdfPTable functionality, in the hope that the code is now more readable.
      This fixed the following problems:
      • due to rounding problems, some lines in tables were duplicated when a row was split: consumeHeight() didn't consume all the content; problem reported by a customer with support contract
      • using rowspan sometimes led to strange results (content went missing); bug reported by Colin Cheng in April 2011
      • skipping the first header didn't work if a Table was the first element added on a page; bug reported by Richard Palmer in April 2011
      • table events weren't working for combinations of rowspan and colspan.
      Caveat: some methods were removed, and setSplitLate() is ignored for rows that have a rowspan.
    • TaggedPdfReaderTool: better error handling when parsing PDFs that aren't tagged

XML Worker 0.9.1

  • Changes made by Balder Van Camp & Emiel Ackermann
    • New XMLWorker and HTMLWorker in separate jar. This will replace the old HTMLWorker in future versions.
      The new XMLWorker will be used to parse other types of XML in future projects.

iText RUPS 1.0.0

  • Changes made by Balder Van Camp
    • RUPS is now released as an exe.
    • RUPS: added an option to give a path to a file as command line argument on launch. (Enabling e.g. for windows: right mouseclick on a PDF file -> open with RUPS, and the file opens)