iText 5

Release iText 5.1.1

We're releasing iText 5.1.1 because XML Worker 1.0.0 depends on some new functionality that was added to iText.

iText® XML Worker is no longer in beta. You can now start using XML Worker 1.0.0 in a production environment to create PDF files using HTML created using CKEditor or TinyMCE as input.


Changelog:


iText 5.1.1 Core

  • 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

      XML Worker 0.9.2

      • Changes made by Balder Van Camp & Emiel Ackermann

        • Body now uses nonewlineparagraph

        • XML parser takes namespaces into account: tag <ns:atag> is now parsed as atag with namespace ns.

        • Rowspan fix when determining and comparing the width of cell with its predecessors. Rowspan is now checked not only for the current column, but for the following columns as well.

        • Table / TableData / TableRowElement:revised Table after receiving IndexOutOfBoundsTable should now keep working even with inner non table tags. e.g. a <p> in <table>, they will all be taken as caption for the table though.Table code adapted to allow page-break-before on <table>didn’t test what happens when it’s on <td>’s yet.

        • XMLWorkerHelper – removed deprecated methods

        • pom: add osgi data

        • xmlworker-html: allow parsing snippets with no root tag

        • page-break-before can add Chunk element to currentContent list -> stackKeeping processors should check for other then the expected elements (like in OrderUnoderedList). We probably need to check that in Table tag processor too