ICEpdf 5.0.3 Release Notes

Table of Contents

ICEpdf 5.0.3 Release Notes

August 1st, 2013


This document includes the following sections:

About This Release

ICEpdf v5.0.3 is a certified maintenance release. This release includes more than 30 bug fixes and enhancements.

Notable Changes and Enhancements

  • Rendering Core
    • Content parser has been updated to address more strange and unusual content and object streams.
    • Fixed an issue where an images mask was not scaled to match the size of image being masked.
    • Updated CMYK color conversion to take into account none standard decode arrays.
    • Fixed an resource issue which kept some OpenType fonts from initializing there child Type1 font programs.
    • Improvements have been made to the FontManager to insure that the Java Lucida Fonts are used when displaying Unicode characters.
    • Fixed a rare issue which could cause the wrong object byte offset to be retrieved from the xref table.
    • Corrected an issue where a hand full of TrueType glyphs were rendered horizontally reversed.
    • Improvements have been made to the mechanism that detects if TrueType fonts should be hinted.
    • Fixed an issue where newly created annotation resource could be garbage collected accidentally.
    • Updated the FreeText annotation creation to correctly encode special characters.
    • Correct an regression where text in xObjects was not correctly passed to the parent stream.
    • Fixed an issue where hex encoded characters in a Name object where not correctly converted to valid character codes.
    • The MIPMAP image reference object has been updated to produce higher quality scaled images.
    • Correct an issue where some CID type font based glyphs were not drawn using the correct width.
    • Reduced the amount of memory that is needed to apply an image mask.
    • Fixed a regression where some image where taking a significant amount of time to render when using the Separation colour space.
    • Corrected an issue where the uncolour value was not being applied to a pattern paint.
    • Fixed an error in the Image Proxy which could prevent some images from not rendering during a page capture.
    • Updated Annotation class to allow the setting of flag properties, including the locked bit.
    • Fixed an issue with the Library classes Object cache which was causing a slowdown in garbage collection when processing long PDF files.
    • Fixed an issue where a font's differences array was not correctly parsed and stored which could result in incorrect text being extracted.
    • Corrected synchronization issue with the initialization of the Index color model from multiple images being initialized in the image thread pool.
  • Viewer Application
    • Addition of new method to the FontManager that allows the reading of font resources from a JAR file.
    • Fixed an issue with the Text Markup tools (highlight, underline and strikeout) where extra annotation could be create with subsequent right mouse clicks.
    • Addition of a progress dialog when downloading PDF documents using a URL.
    • Fixed a rare issue where some document pages would be blank on first render.

For a complete list of all changes in this release, see the related JIRA Change Log.

Known Issues

The following section describes the most commonly encountered known issues with this release. For a complete reference of all outstanding issues please refer to the JIRA issue tracker.

  • Batik libraries version 1.7 for SVG export has a known issue which will cause a null pointer when using the class SVGGraphics2D. Please use Batik version 1.6 or earlier (included in this release bundle),
  • Depending on which version of the Java Advanced Imaging (JAI) library you are using, the installer program may assume you are installing it on a J2SE JDK installation. If you install the JAI into a J2SE JRE installation, you may need to move the installed files from the /jre subdirectory that the installer creates to the jre directory above. Newer versions of the JAI installer program have fixed this issue.
  • Language support for none English languages is limited to the main Viewer controls and is incomplete for the Utility pane or popup dialogs.

Migration Notes

4.x to 5.x Migration Notes

API Packaging Changes

  • The memory manager has been updated and it is no longer required to lock a Page object when accessing it through the PageTree API.
  • PagePainter object is no long passed into a call to Page.paint() method. If long running Page paint method needs to be interrupted then a call to page.requestInterrupt() should be made.
  • The use of Hashtable in the Dictionary class has been replaced with HashMap object.

System Properties

  • Image scaling is now off by default and there two new scaling options, more information can be referenced found here, imaging options
  • Many system properties have been removed as they are no longer needed or irrelevant. Please review System Properties for a complete list of supported system properties.

Viewer RI

  • The Viewer RI has been updated to support annotation editing tools, for more information on these see Working with Annotations .
  • Layer support has been added to the Viewer RI utility pane, for more information see User Layers .

3.x to 4.x Migration Notes

The following changes may affect applications that were originally developed with a previous version of ICEpdf.
ICEpdf Core API

  • When extracting text using the org.icepdf.core.pobjects.Page Object the method not longer turns a Vector of Strings. Instead it now returns the data structure See class document and the example install_dir/icepdf/examples/extraction/ for correct usage.

2.x to 4.x Migration Notes

The following changes may affect applications that were originally developed with a previous version of ICEpdf.

ICEpdf Jar File Changes

  • The ICEpdf jar file names have been updated to better indicate their respective usage.
  • Please update your applications to reflect the new jar names.
    • icepdf-core.jar - was icepdf.jar, contains core ICEpdf rendering classes.
    • icepdf-viewer.jar - was ri_pdf.jar, contains viewer reference implementation.
    • icepdf-pro.jar * - Professional font library available under commercial licensing.
    • icepdf-pro-int.jar * - Professional font library CMap files, available under commercial licensing.
      * Denotes JAR files that are only available in ICEpdf Pro commercial release.

API Packaging Changes

  • ICEpdf 4.0 packaging has been updated to match the domain of the new community site
  • Please update your applications to reflect the new base package name.
    • Former package-name: com.icesoft.*
    • New package-name: org.icepdf.*
  • The ICEpdf API rendering core is now rooted at org.icepdf.core.*.
  • The ICEpdf API viewer reference implementation is now rooted at org.icepdf.ri.*.

System Properties

  • ICEpdf system properties have been changed to match the domain name of the community site
  • Please update your applications use of ICEpdf system properties to reflect the new base package name.
    • Former package-name: com.icesoft.*
    • New package-name: org.icepdf.*

JDK 1.5+ Now Required

  • ICEpdf source code has been updated to the JDK 1.5 Java language specification to take advantage of numerous features and improvements to the Java programming language. As a result, ICEpdf v4.0 is not deployable to Java JRE versions older than 1.5.
  • Older versions of the Java JDK and JRE have been added to Sun's end of life and are no longer publicly supported.
    • JDK 1.3.1 reached the end of its service life (EOSL), December 11th, 2006.
    • JDK 1.4.2 reached the end of its service life (EOSL), October 11th, 2008.
  • For more information on Java Platform Migration please see

Logging System

  • ICEpdf 4.0 now uses Java logging API for all logging tasks.
  • A sample file is included in the directory .../install_dir/icepdf/lib/.
  • The custom logging properties file can be specified with the following system property:
  • Further information on java.util.logging can be found at


Please visit the community site for additional information, demos, and resources.

All questions, comments, or general discussion specific to ICEpdf 4.0 should be made in the ICEpdf Forum forum.

For information on commercial support, professional services, and training, please visit

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.

© Copyright 2017 ICEsoft Technologies Canada Corp.