ICEpdf 6.3.1 Release Notes

Table of Contents

ICEpdf 6.3.1 Release Notes

August 22nd 2018


This document includes the following sections:

About This Release

ICEpdf 6.3.1 is a certified maintenance release including several fixes reported by supported customers. This release also includes enhancements to text searching adding support for searching annotation comments and document outlines and also introduces a new full screen page view mode. This release includes 30+ bug enhancements and bug fixes.

Notable Changes and Enhancements

  • Rendering Core
    • Fixed rare bug where some text would rendered upside down.
    • Improved JPEG colour model selection.
    • Fixed an issue where small tiling patterns where being painted with fill colour.
    • Build updates for easy deployment of javadoc and source jars.
    • Fixed issue where images with the separation colour space were rendered transparent.
    • Fixed incorrect usage of new preferences api in example code.
    • Fixed potential null pointer when accessing document name tree.
    • Remove references to javax.activation module.
    • Fixed a Markup annotation issue where setSubject() set the incorrect annotation key value.
    • Improvements to inline image parsing.
    • Improvements to CITTFax rendering support.
  • Font Engine
    • Fixed a threading issue in Font hinting initialization that was resulting in some glyph rendering artifacts.
    • Fixed CMap initialization threading issue.
    • Fixed obfuscation regression which was preventing the use of IncrementalUpdater.getUpdatedDocumentObjects().
  • Viewer RI
    • New Full screen page view.
    • New search UI for easier configuration of search options.
    • Search UI now includes search configuration for searching text, comments, bookmarks and destinations results.
    • Fixed issue where SwingController isAnnotationUtilityPaneVisible was generating a null pointer.
    • Search cursor not painting correctly with more then 1 hit on a line.
    • Popup Annotation dialog font size can be set with ctrl-wheel mouse or ctrl-+ and crtrl-- keys.
    • Added new system property to enable the JavaFX chooser dialog in the viewer RI, org.icepdf.ri.viewer.jfx.dialog=true.
    • Addition of wait cursor during printing.
    • Fixed a intermittent threading issue in AbstractPageViewComponent which was keeping it from repainting after a scale change.
    • Addition of Digital signature dialog translations or French and German.
    • Addition keyboard shortcuts for iterating over annotation tree.

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.