|The topic of this article may not meet Wikipedia's general notability guideline. (June 2012)|
|This article relies on references to primary sources or sources affiliated with the subject, rather than references from independent authors and third-party publications. (June 2012)|
ICEpdf is an open source Java PDF engine for viewing, printing, and manipulating PDF documents. ICEpdf can be use as standalone open source Java PDF viewer, or can be embedded in Java applications as a seamless Java PDF viewer. Beyond PDF document rendering, ICEpdf can be used in a multitude of ways, including:
- PDF to image conversion
- PDF printing
- PDF search
- PDF text and/or image extraction
- PDF link annotation add/edit and delete
The ICEpdf project is sponsored by ICEsoft Technologies, Inc. ICEsoft manages a community web site for over 150,000 developers, as of April 2012, which provides development and support as well as source code, IDE software and tutorials.
// build a component controller
SwingController controller = new SwingController();
SwingViewBuilder factory = new SwingViewBuilder(controller);
JPanel viewerComponentPanel = factory.buildViewerPanel();
// add the component to a JFrame to display panel
JFrame applicationFrame = new JFrame();
// Now that the GUI is all in place, we can try openning a PDF
// show the component
Supported PDF Features
- Font support: Embedded font support for Type 1 Fonts (Standard and Multiple Master), TrueType, Font Subsets, Type3, CMaps (predefined and Embedded), Type 0 CID, Type 2 CID, Type 0, Type 1 (CFF), OpenType (True Type Outlines) and OpenType (CFF Type outlines). Font substitution is available for documents that do not use embedded fonts.
- Cross-Reference Table and Cross-Reference Stream support for accelerated document loading.
- Multiple page views: single page, facing page, single page column, and facing page columns.
- Rendering of AcroForm data, push buttons, check boxes, radio buttons, text fields and choice fields.
- Rendering of common Annotation types: markup and text markup; text, free text, and line; square; circle polygon; and polyline types.
- Create, edit and delete Link annotations and their respective URI, Launch or GoTo actions.
- Interactive Link annotation via the following actions types: go to actions, go to resource actions, go to launch actions and URI actions.
- Multi-page text selection.
- Converting rendered PDF pages to images, SVG documents, etc.
- Extracting PDF document meta-data, text, and images.
- PDF document viewing.
- Page navigation.
- Page magnification.
- Page rotation.
- Bookmarks (table of contents entries that represent the chapters and sections in a document).
- Search document text and highlight results.
- Acrobat standard security (40-bit and 128-bit RC4 encryption) for opening password-controlled files (for more information, see Acrobat Standard Security Support.
ICEpdf can be used in multiple environments supporting Java, including Windows, Mac OSX, Solaris, and Linux.
|For Windows||For Linux||For Solaris||For Mac OS X|
|Sun J2SE 1.5||Sun J2SE 1.5||Sun J2SE 1.5||Apple J2SE 1.5|
|Sun J2SE 1.6||Sun J2SE 1.6||Sun J2SE 1.6||Apple J2SE 1.6|
|Sun J2SE 1.7||Sun J2SE 1.7||Sun J2SE 1.7||-|
ICEpdf is capable of rendering PDFs up to version 1.7. 
ICEpdf Deployment Scenarios
Java Client Deployment
ICEpdf can be deployed to practically any Java enabled workstation (J2SE or J2EE JVM, v1.5.0 or greater) to render PDF files, much like Adobe Reader®. Instead of relying on a third party application, ICEpdf can be entirely embedded and customized within your Java application. This provides ultimate flexibility, control, and branding when integrating PDF rendering capabilities. Furthermore, ICEpdf is fully deployable using standard Java mechanisms such as an Applet, or Java Web Start (JWS).
Java PDF Servlet Deployment
ICEpdf can be deployed as a Java PDF servlet on any Java application server to render PDF files. On the server, ICEpdf acts as a Java EE PDF engine rendering requested files server-side in headless mode. ICEpdf can then extract desired data in the PDF file, and hand it over to another business process server-side. Alternatively, ICEpdf can then be configured to convert the rendered PDF file to a specified image format (jpg, gif, png) so the results can be served in the form of a standard web page.
- ICEpdf Viewer - This ICEpdf Demo requires that you have Java Web Start (JWS) installed on you computer. With a single click of a mouse, ICEpdf will be deployed to your computer over the network. JWS is included in the Java Runtime Environment (JRE) 1.5.0 which can be downloaded from the Sun web site: java.sun.com/j2se/1.5.0/download.jsp
- Servlet Demo - ICEpdf can be deployed as a servlet on any Java server to render PDF files. This ICEpdf servlet demo allows you to load local PDF files from your computer or PDF files from any URL. ICEpdf renders the requested files server side, converts them to a specified image format, and serves the pages back in the form of a standard web page.
Similar PDF Libraries
| This article uses material from the Wikipedia article ICEpdf, that was deleted or is being discussed for deletion, which is released under the Creative Commons Attribution-ShareAlike 3.0 Unported License.