iText 5.2.0 — XML Worker 1.1.2 (February 29, 2012)


  • If you use CJK fonts in your existing code, you will need to update the itext-asian.jar. You'll find this jar in
  • If you use AWT classes such as AffineTransform, you should switch to using the classes in package com.itextpdf.awt.geom.
  • If you use AWT-related classes such as PdfGraphics2D in your existing code, you'll have to make a minor change to your code. This class has moved to another package: com.itextpdf.awt.

iText 5.2.0

  • Changes made by Paulo Soares
    • Digital signatures: Encapsulation of the basic OCSP response and correction for the CRL inclusion.
    • Support for PAdES-LVT timestamp verification.
    • Support digests in timestamps other than SHA-1.
    • Unification of cmap handling. CJK fonts support all the encodings.
    • Support for big PDFs over 2GB; you can now create 10GB PDFs with a classic cross-reference table and PDFs as big as 1TB with a cross-reference stream. (Suggestions by Welman Jordan)
    • Added classes to Map in LtvTimestamp (generics).
    • Replaced escape-method in SimpleNamedDestination
    • PDF Parsing:
      • Made the getFont() method in pdfContentStreamProcessor private
      • Text extraction with CJK encodings such as GBK-EUC-H is now possible.
      • Several fixes when reading documents with fonts using the /ToUnicode entry.
      • Fix for strange numbers such as --234
      • Resource dictionaries may have direct fonts.
  • Changes made by Kevin Day
    • PdfReader and related classes:
      • Better error messages and better handling zero sized files and attempts to read past the end of the file.
      • Removed restriction that using memory mapping requires the file be smaller than ~2GB.
      • Avoid NullPointerException in RandomAccessFileOrArray
    • PDF parsing:
      • Made a utility method in pdfContentStreamProcessor private and clarified the stateful nature of the class
      • LocationTextExtractionStrategy: bounds checking on string lengths and refactoring to make code easier to read.
      • Better handling of color space dictionaries in images.
      • improve handling of quasi improper inline image content.
      • don't decode inline image streams until we absolutely need them.
      • avoid NullPointerException of resource dictionary isn't provided.
  • Changes made by Eugene Markovskyi
    • FontWeight is added to font descriptor of DocumentFont.
    • Bugfix PRAcroForm: avoid NullPointerException
    • Bugfix ColumnText: Image position should be shifted on descent of previous line.
    • Bugfix BidiLine: Taking into account percentage width of LineSepartor.
  • Changes made by Alexander Chingarev
    • PdfName: Added FontFamily tag.
    • XfaForm: Fixed bug in XFA forms filling.
  • Changes made by Bruno
    • Making iText more fool-proof: it's forbidden to construct, stroke or fill paths inside a text object.
    • AWT-related changes to simplify creating the Android/GAE port of iText:
      • Bugfix by Ivan Farkas: Avoiding a NullPointerException in PdfStamperImp
      • Moved AWT related methods to the bottom of the source code of several class files (PdfContentByte, Barcode, Image, PdfImageObject).
      • Introduce Apache Harmony classes in a package com.itextpdf.awt.geom.
      • Removed several dependencies on AWT classes such as java.awt.Rectangle and java.awt.AffineTransform.
      • Moved PdfGraphics2D, FontMapper, and related classes to package com.itextpdf.awt.
    • PDF Parsing: The RegionTextRenderFilter now works with com.itextpdf.text.Rectangle.
    • PDF Parsing: It doesn't make sense to take zero length text into account; change made after Adam Read reported a StringIndexOutOfBoundsException on the mailing list (December 5, 2011).
    • PdfConcatenate: removing a System.out.println() (originally added for debugging).
    • Suggestion by Martin Pallmann to move the IllegalArgumentException out of the try/catch in ICC_Profile.

XML Worker 1.1.2

  • Changes made by Balder Van Camp
    • Fix indentation of Ordered Lists, list are set to autoindent if they are ordered;
      otherwise the numbering would overwrite the listitems text
      (bug reported by Stephen Bell on the mailinglist for itext C# version, proposal of a fix by Keith O adapted and added).
    • Some javadoc fixes.
    • Create abstraction for CssAppliers allowing developers to write their own CssAppliers class
      and in turn write their own CssApplier.
      The CssAppliers.getInstance() method has been removed in favor of injection
      into tag processors through CssAppliersAware interface.
      Then injection is done in the HtmlPipeline.
      And a custom CssAppliers implementation can be set in the HtmlPipelineContext.
      If it's not set the default CssAppliersImpl is used.
      This code change should not affect users but can affect classes
      that override current implementations.
    • Remove quotes from fontfamily names ( based on )
  • Changes made by Jeroen Nouws
    • Removed bug causing XMLWorker to crash when trying to parse Headers inside TableData.
  • Changes made by Eugene Markovskyi
    • Using UNDEFINED value as default for font and color properties. Default leading is NaN.
    • Applying font properties to paragraph
    • The logic of max leading of paragraph is disabled (iText based logic should use multiplier leading of Paragraph).
    • Clean up default margin properties for correct merging of paragraph css styles and para element attributes.
    • Separate method for applying of font dependent CSS styles.
    • Fixed uppercase/lowercase problems (using equalsIgnoreCase() and introducing the method CssUtils.stripDoubleSpacesTrimAndToLowerCase())
    • Fixed RuntimeExcpetion - better handling of invalid nested tags
    • Improved parsing of processing instructions.
    • FontFactory versus FontProvider: introduced XMLWorkerFontProvider
    • Introduction of the class LineHeightCalculator.
    • Introduction of "valign" and "align" in the HTML class.
    • Fixed several alignment, row height and line size issues in table cells.
    • Fixed issues with font styles that weren't applied correctly.
    • Fixed page break issues.
    • ColumnText does not support resizing of image height.
      If a cell has a fixed height, an image with larger height disappeared from this cell.
    • Fixed white space issues.
    • Several code optimalisations.
  • Changes made by Bruno Lowagie
    • Introduced experimental code to parse SVG to a PdfTemplate. This works for tiger.svg, but it certainly doesn't work for all SVG files yet.
      This is a code contribution by VVB who wants to remain anonymous. The code was slightly adapted by Bruno.
    • Removed dependencies on java.awt.
    • When a tag like this is encountered: <table width="100%">:
      XML Worker tries to make an absolute value of the width. This has now been fixed.

iText on Twitter
Text on LinkedIn
iText on SlideShare
iText on Google+
iText on Facebook
iText on Pinterest
iText on YouTube
iText on Flickr