View Source

{section}

{column:width=100px}
\\
!icepdf-app-icon-64x64.png|align=left!
{column}

{column}
\\
h1. ICEpdf 5.1.0 Release Notes

*{_}September 19th, 2014{_}*
{column}
{section}
----
h3. Contents

This document includes the following sections:

* [About This Release|#about]
* [Notable Changes and Enhancements|#notablechanges]
* [Known Issues|#knownissues]
* [Migration Notes|#migrationnotes]
* [Support|#support]

{anchor:about}

h3. About This Release

ICEpdf v5.1 is a certified production release that introduces important new features such as PDF container support, a watermark API and page loading events. Also included in this release is our new ImageIO based image processing pipeline which has drastically improves image loading performance. This release also includes over 40 bug fixes and enhancements.
\\

{anchor:notablechanges}

h3. Notable Changes and Enhancements

* *Rendering Core*
** Addition of support for PDF portfolio document access and page capture. An example of page capture can be found at the bundle path ./examples/capture/PortfolioCapture.java.
** A new watermark API has been added to aid in adding watermarks for display purposes. An example of adding a watermark can be found at ./examples/capture/WatermarkPageCapture.java.
** A new API for page loading events has been added. Examples of its use can be found in the Viewer RI as well as the example ./examples/loadingEvents/PageLoadingEvents.java.
** Major overhall of the ICEpdf imaging core to ImageIO which has decreased image processing speed as well as removed a dependency on older Sun classes.
** Update image pool so that repeated images will only be processed once before insertion into the image pool. Also added support for repeated inline images.
** Optimization of painting pipeline to minimize the number of times the clip and alpha draw events are executed.
** Improvements to color accuracy of DeviceN, Seperation, Indexed and CMYK colour spaces.
** Addition of Type 4 function support for 'if' and 'ifelse' conditional statements.
** Fixed a content parsing error in that in rare cases could drop a letter in a word.
** Improved support for ICC CMYK colour profiles which addresses images that appear darker then they should be.
** Numerous improvements to inline image parsing support.
** Crypt filter compatibility improvements.
** Fixed an issue where hex encoded string were not correctly unencrypted for outline and metadata extraction.
** Updated rendering core to cleanup temp file associated with ImageIO image loading.
** Fixed several issue which affected image decoding when scaled image reference are enabled on masked images.
** Numerous parser fixes for mailformed document notation.

* *Font Engine*
** Fixed an encoding issue which was keeping some Arabic fonts types from rendering correctly.
** Fixed font resource loading issue which could potentially put page loading into an infinite loop.

* *Viewer RI*
** Addition of default reference implementation for displaying the sub documents of a PDF portfolio.
** Integration of new page loading events which allows each page to show its own page loading wait cursor.
** PrintHelper has been updated to remove dependency of SwingController.

* *Build and Bundle*
** Maven2 pom files have been updated to have different group ids for the OS and PRO versions of ICEpdf. Open source users will need to update the group id from org.icepdf to org.icepdf.os.
** Cleanup of warning and errors displayed when compiling core and viewer jars.


For a complete list of all changes in this release, see the related JIRA [Change Log|http://jira.icesoft.org/browse/PDF/fixforversion/11470].
\\

{anchor:knownissues}

h3. 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 ICEpdf.org JIRA issue tracker.
General
* 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), [http://xmlgraphics.apache.org/batik/].
* 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.

\\

{anchor:migrationnotes}

h3. Migration Notes

h4. 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|http://www.icesoft.org/wiki/display/PDF/Imaging+Options]
* Many system properties have been removed as they are no longer needed or irrelevant. Please review [System Properties|http://www.icesoft.org/wiki/display/PDF/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 | http://www.icesoft.org/wiki/display/PDF/Working+with+Annotations].
* Layer support has been added to the Viewer RI utility pane, for more information see [User Layers |http://www.icesoft.org/wiki/display/PDF/Changing+Visibility+of+Layered+Content].


h4. 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 org.icepdf.core.pobjects.graphics.text.PageText. See class document and the example _install_dir_/icepdf/examples/extraction/PageTextExtraction.java for correct usage.

h4. 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 [http://www.icepdf.org/].
* 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 [http://www.icepdf.org/].
* 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 [http://java.sun.com/j2se/JM_White_Paper_R6A.pdf].

*Logging System*
* ICEpdf 4.0 now uses Java logging API for all logging tasks.
* A sample logging.properties file is included in the directory .../install_dir/icepdf/lib/.
* The custom logging properties file can be specified with the following system property:
** \-Djava.util.logging.config.file=logging.properties
* Further information on java.util.logging can be found at [http://java.sun.com/j2se/1.5.0/docs/guide/logging/].

\\

{anchor:support}

h3. Support

Please visit the [www.icepdf.org|http://www.icepdf.org/] 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|http://www.icefaces.org/JForum/forums/show/28.page] forum.

For information on commercial support, professional services, and training, please visit [http://support.icepdf.org].