Additional Jars

JPedal may require some additional jars on your classpath to handle some PDF files. As these can increase the size of download substantially but are needed on only a small number of PDF files, we do not include them all.

If they are required, JPedal will generate an error or tell you.

You can either add the jars into the ext directory of Java or add them to the classpath using the -cp option (in which case you can not use the -jar option and will need to specify the class you are running).


Getting hold of the Jars

The PDF Viewer actually has a configuration option to download any jars required to run JPedal. It will detect which jars are present on your machine and open the downloads page. This is the recommended way to obtain the jars.

View of extensions tab

A view of the extensions tab

Javascript support (js.jar)

JPedal includes Javascript support for PDF Forms and PDF Layers. It can use Rhino or the new Nashorn JavaScript engine. It will automatically detect the installed version. Nashorn is much faster than Rhino and will be included in Java 8 so we recommend using this if available.


CIDFont0/CIDFont2 Foreign language support (cid.jar)

There are additional CMAP files which can be downloaded as part of the PDF file specification.

This is required by some foreign fonts and available from the downloads page. An exception will be thrown if it is needed and not present.



The Java Advanced Imaging library adds better Tiff support and hardware acceleration to some image operations. It can be enabled using a JVM option but will not be automatically used if on classpath. The JAI libraries may come as a single jar which needs to be unpacked into jai_core and jai_codec. We have included a flag to enable it because some customers want to have JAI on the classpath but avoid its usage in JPedal for technical reasons.

Java Advanced Imaging (JAI) can be used to enhance image handling, especially for Tiffs. These files need jai_core.jar

Files with JPEG2000 encoded images will also need imageio.jar, which is part of JAI

We found a problem in imageio.jar and built our modified version.

JAI jar files can be downloaded from here

To run JAI you need the jars on the classpath and the JVM flag -Dorg.jpedal.jai=true set.


Security jars

If the file is encrypted, the JCE library from The Legion Of The Bouncy Castle (

mailbc.jar is also required along with the main jar to compile or open a PDF with a certificate.