iText 5.1.1 — XML Worker 1.0.0 (June 8, 2011)

iText 5.1.1

  • Changes made by Balder
    • Added high level api interfaces Indentable and Spaceable.
      This makes it easier to apply styles in XML Worker.
    • Extended Logging to work like logging frameworks do.
    • Added a simple System.out logger: SysoLogger
    • Added a WriterOperation interface, and an abstract WritableDirectElement class
      that should implement it. This object allows XML Worker to do operations on a writer/document, similar
      to what VerticalPositionMark does, but different.
  • Changes by Paulo Soares
    • An incomplete ToUnicode cmap would prevent the correct text extraction.
    • Fixed problem where an Exception was thrown in the edge condition where renderInfo.getText() returns an empty string.
  • Changes made by Bruno
    • Bugfix Rectangle: the parameters defining the lower-left coordinate weren't taken into account
    • Restore of some changed XMLs. Fix by Jérôme Marant for Latin (see version 2.1 of the extrajars).
    • Normally, a PDF should have the startxref value in the final 1024 bytes. However, some PDF producers create really bad PDFs with plenty of gibberish after the %%EOF marker. With these extra tests, iText will now continue the search for startxref if it can't be found in the final 1024 bytes.
    • Bugfix: List symbol attributes were ignored. Bug reported by Emiel Ackermann.
    • Changed HashMap into Map in the setMoreInfo() method (and related variables/methods).
    • Changed the place where the Info dictionary is updated. This should make the XMP stream consistent with the updated Info dictionary.
    • Bugfix in PdfLayer and PdfWriter: The /Usage of an OCG layer doesn't have to be a direct object; it can also be an indirect reference.
    • Bugfix in PdfWriter: The /D and /AS in the context of OCG don't have to be direct objects; it can also be indirect references.
    • PdfPCell: the default for using the ascender/descender is set to true.
    • Added PdfConcatenate: a class with the same functionality as PdfCopy/PdfSmartCopy, but in a more user-friendly way.
    • When calculating the leading of a line, the image height only has to be taken into account if the changeLeading variable is set for Image chunks.

XML Worker 1.0.0

  • Changes made by Balder Van Camp & Emiel Ackermann
    • Table Improvements
      • Background colors of tables are fixed.
      • Problem with table margin top has been solved.
      • Table top and bottom margins now act more as is the case in HTML.
      • Default height cell acts more as in HTML.
      • Last cell in row now has the correct start width.
      • Adjusted HtmlCellCssApplier to the new changes in iText concerning ascender and descender of a cell.
      • Bug fix: Setting the color of table borders caused the borders to be drawn even if the border width was zero.
    • List Improvements
      • Matched the font size of the list symbol to the font size of the content of a list.
      • List symbols are now shrunk and aligned in the middle of the line.
      • Invalid html tags inside <ul><ol> (like a <p> not wrapped in a <li>, will be converted to a ListItem.
    • Various other improvements/changes
      • Horizontal rule is now positioned correctly.
      • Fixed a bug where CSS styles were not selected in the right order.
      • XML Worker specific css styles ‘repeat-header’ and ‘repeat-footer’ implemented in tables.
      • Direct <div> content is now added.
      • We put error messages in resource bundles. (feel free to send in translations)
      • Introduced the Pipeline. A way to separate the processing of the tags and content on basis of what should be done with it.
      • Removed TagListeners, Pipelines do their job now.
      • The XMLWorkerConfiguration is replaced with configuration using Pipelines.
      • Added a LinkProvider and an ImageProvider.
      • An AbstractImageProvider that only requires an image root to be implemented.
      • Added a lot of Javadoc.
      • Add extra examples and tess
      • Change the XMLParser to pass the content as a byte[] allowing pipelines to convert to Strings properly.
      • Bug fix: any tag at the highest level can contain a relative width
      • private constructor for CSS and HTML since these classes should not be initialized
      • Fixed a todo by adding a ImageProvider possibility for retrieving a list symbol from an image.
      • changed the key restriction for the WorkerContext from Class<?> to String, this will allow the same pipeline to be added more then once (if the getContextKey method returns something unique per instance which it does not by default (default is in AbstractPipeline. )
      • removed isStackowner() (returned true) from HorizontalRule
      • Removed start from Anchor tag processor, added the CSS setting of underline/blue in the start method as settings in the default css.
      • promoted 1 addProcessor() method to the interface, added a remove() method to the TagProcessorFactory, (in case somebody needs it) but one could also override the mapping instead of removing.
iText on Twitter
Text on LinkedIn
iText on SlideShare
iText on Google+
iText on Facebook
iText on Pinterest
iText on YouTube
iText on Flickr