ICEpdf 6.3.0 Release Notes

Table of Contents

ICEpdf 6.3.0 Release Notes

February 8th, 2018


This document includes the following sections:

About This Release

ICEpdf 6.3.0 is a certified production release that introduces major improvements to our annotation editing tools as well as support for document bookmarks and a revamp of our imaging pipeline. The new annotation tools streamline color selection and allow for the creation of several annotation types through context menus. The Viewer RI also includes a new settings dialog, consolidating document properties dialog and annotation summary view. This release includes 80+ bug enhancements and bug fixes.

Notable Changes and Enhancements

  • Rendering Core
    • Code base is now Java 8 compliant, for earlier Java version support contact ICEsoft support for legacy support options.
    • Support for Twelve Monkeys Image library for Tiff and JPEG image loading.
    • Improvements to indexing files that have invalid xref tables.
    • Fixed rendering issues with tiling patterns that have small sizes.
    • Fixes a rare bug which kept some optional content from rendering.
    • Improvements to Flate decode reliability.
    • Fixed a bug in our signature verification process that was incorrectly processing the certificate chain order.
    • Improvements to our imaging pipeline encapsulation.
    • Improvements to our object parser for handling invalid object notation.
    • Improvements to handling of inline images.
    • Fixed a predictor issue with flate decode which was causing some images to be banded.
  • Viewer RI
    • Viewer properties and font manager now use the Preference API for storing application preferences.
    • Icon size can now be set from _32 to _24 for better integration into projects as a component.
    • Access to annotation properties is now available via a context menu and popup properties dialog.
    • New annotation view allows users to easily search, sort and change the colors of markup annotations in a document.
    • New annotation editing mode highlight document destinations and and link annotations.
    • New annotation summary view allows for a centralized location to review and organize markup annotation content.
    • New annotation summary also allows for the editing and view of document destinations.
    • New quick color selection and named color assignments tool.
    • Many new shortcuts via context menus for creating new annotation and destinations as well as easy access to edit properties dialogs.
    • Improvements to bounds detection when creating multiple highlight annotation in the same paragraph.
    • Addition of search cursor key commands F3 and shift-F3 for easy navigation to the next search hit.
    • Addition of regex search option for text and annotation text searches.
    • Addition of spellcheck support for popup annotations when jortho libraries are added to class path.
    • Improvements to default printer selection on Linux systems.
    • Addition of unified document properties dialog, contain data on document info, security and fonts.
    • Fixed a memory leak in the two page document view.
    • Auto scroll when selecting text across multiple pages.
    • File menu contains a list of most recently used files.
  • Font Engine
    • Improvements to CID font glyph assignments.

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.

  • Choice Button may persist in thew viewer even after focus is lost but data will be written as expected on OSX.
  • Language support for none English languages is limited to the main Viewer controls and may be incomplete for the Utility pane or popup dialogs.

Migration Notes

6.2 to 6.3 Migration Notes

*API Behavior Changes

  • Java 8 is now required for building and running the library.
  • AnnotationComponentFactory.buildAnnotationComponent() method has changed now only requiring a reference to DocumentViewController.
  • Deprecated methods in the Page class have been removed.
  • The Viewer RI has undergone a number of structural changes with regards to annotation editing and view classes.
  • The font manager and viewer ri settings are now handle by the Preference API and properties are stored according to platform.
  • The PropertiesManger initialization has been simplified and and instance can be retrieved with PropertiesManager.getInstance();
  • The FontPropertiesManager initialization has been simplified and and instance can be retrieved with FontPropertiesManager.getInstance().loadOrReadSystemFonts();

6.1 to 6.2 Migration Notes

API Behavior Changes

  • Page initialization related calls to the Document and Page classes now throw InterruptedException. This is a major API change but it does insure that a Page initialization thread can be interrupted and the calling application can catch the exception as it bubbles up. The Viewer RI and examples have been updated appropriately and we hope this change will have a minimal impact on our users and overall will be a value add for clients in multiple thread environments.

Viewer RI

  • The Viewer RI contains a new font properties dialog which is available via the file menu. This dialog shows the font properties of all fonts found in the document and can also be used to reset the font manager font cache.
  • A new utility pane tab is now enable for files that contain file attachments. The file attachment view allows PDF documents to be opened with a double click and it is also possible to save any attached file with the "Save As..." context menu.
  • A new example has been provided for integrating the Swing Viewer application in a JavaFX application.

5.x to 6.x Migration Notes

API Behavior Changes

  • In memory file loading is now the default behavior for files under 200 MB. The system property org.icepdf.core.filecache.enabled=false to override this behavior.
  • API access is now possible for a Page's Shapes.

Viewer RI

  • The Viewer RI has been updated with new annotation components to represent each form field type. Manipulating this components will change the underling data model for the respective field type.
  • A new interactive form toolbar has been added the main tool bar. The interactive form toolbar currently only contains one button to control form field highlight visibility. The toolbar can be hidden using the PropertiesManager and the property

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 5.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.