ICEpdf 4.0.0 Release Notes

Table of Contents

ICEpdf 4.0.0 Release Notes

January 27th, 2010


This document includes the following sections:

About This Release

ICEpdf v4.0 is a certified production release that introduces important new features such as PDF document editing and saving, text selection and clipboard functions, and search result highlighting.

Notable Changes and Enhancements

  • Rendering Core
    • Document Editing - ICEpdf now supports document editing and saving (incremental document updates) for Link Annotation edits.
    • Text Selection - Support for text selection and clipboard functions is introduced in this release.
    • Search Result Highlighting - Search results are now highlighted in the pages that they occur in.
    • Support for JBIG2 image compression.
    • Improved text extraction and text searching accuracy.
    • Improvements to CMYK alternate colour space parsing.
    • Improvements to OS font substitution logic to better match document specified fonts to available system fonts.
    • Reduced memory consumption and significantly improved rendering performance.
    • Improved performance of multi-page view page initialization.
    • Text layout and clipping fixes for xform content streams.
    • Fixed long standing image issue where some images showed red and blue color switching.
    • Fixed CMAP parser bug which prevent page contents from rendering correctly.
    • Page initialization and page painter threads are now daemons to ensure property JVM exiting.
    • Fixed a rare condition where shared resources could be cleared in a low memory environment.
    • Bouncy Castle jars are no longer required for Adobe Standard Encryption support and can be removed from the application classpath.
  • Viewer Application
    • New multi-page text selection tool and system clipboard copying.
    • Search results utility pane now shows search results contextually.
    • Search results are now shown in a highlighted state in the document page view.
    • New Link Annotation tool for creating new annotations.
    • New Select Tool for selecting existing document annotations.
    • New ability to view / edit / delete link annotations and attributes using the ICEpdf Viewer RI utility pane.
    • Preliminary support for the following languages: Danish, Dutch, Finish, French, German, Italian, Norwegian, Portuguese, Spanish and Swedish.
    • New Mac OSX UI compatibility improvements (keyboard shortcuts, App menu support, etc.).
    • RI toolbar now wraps as necessary when the parent frame is resized.
    • Fit-To-Width view type no longer displays horizontal scrollbars.
    • Refined Viewer RI focus management to resolve several focus management issues.
  • Example Applications
    • New Automated Annotation Creation Example
      • Uses the Search API to find text matches.
      • Text matches are converted to annotations with predefined GoTo, Launch or URI actions.
    • New Search API Example
      • Shows how to configure a multiple term search.
      • Opens the viewer RI with search results highlighted.
    • New multi-page fax TIFF capture example.
    • New Ant build script for Applet example.
  • Documentation
    • ICEpdf Developer's Guide. The ICEpdf Developer's is now available online:
      • Includes an in-depth discussion of the ICEpdf architecture and key concepts.
      • Discussion of common ICEpdf use-cases and relevant reference and examples.
      • Reference materials related to APIs, configuration and examples.
  • Community Contributors
    Many thanks to the following ICEpdf community contributors!
    • Pedro Rivera
    • Ken Walker
    • Roy van der Kuil

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

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.