Title: Dependencies

This is an unreleased development preview and may change without notice.

# Dependencies PDFBox has the following basic dependencies: - Java 6 - [commons-logging](http://commons.apache.org/logging/) Commons Logging is a generic wrapper around different logging frameworks, so you'll either need to also use a logging library like [log4j](http://logging.apache.org/log4j/) or let commons-logging fall back to the standard [java.util.logging API](http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/overview.html) included in the Java platform. ## Optional components PDFBox does not ship with all features enabled. Third party compoenets are necessary to get full support for certain functionality. ### JAI Image I/O PDF supports embedded image files, however support for some formats require third party libraries which are distributed under terms incompatible with the Apache 2.0 license: - Reading **JBIG2** images: [JBIG2 ImageIO](https://github.com/levigo/jbig2-imageio) or [JBIG2-Image-Decoder ](https://github.com/Borisvl/JBIG2-Image-Decoder) - Reading **JPEG 2000 (JPX)** images: [JAI Image I/O Tools Core](https://java.net/projects/jai-imageio-core) - Writing **TIFF** images requires *JAI Image I/O Tools Core* also. These libraries are optional and will be loaded if present on the classpath, otherwise support for these image formats will be disable and a warning will be logged when an unsupported image is encountered. Maven dependencies for these components can be found in [parent/pom.xml](https://svn.apache.org/viewvc/pdfbox/trunk/parent/pom.xml?view=markup). Please make sure that any third party licenses are suitable for your project. ### Encryption and Signing Encrypting and sigining PDFs requires the *bcprov* and *bcmail* libraries from the [Legion of the Bouncy Castle](http://www.bouncycastle.org/). These can be included in your Maven project using the following dependencies: org.bouncycastle bcprov-jdk15on 1.53 org.bouncycastle bcmail-jdk15on 1.53 ### Java Cryptography Extension (JCE) 256-bit AES encryption requires a JDK with "unlimited strength" cryptography, which requires extra files to be installed. For JDK 7, see [Java Cryptography Extension (JCE)](http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html). If these files are not installed, building PDFBox will throw an exception with the following message: JCE unlimited strength jurisdiction policy files are not installed