You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2015/05/08 10:03:31 UTC

svn commit: r1678299 - in /pdfbox/cmssite/trunk: content/2.0/dependencies.mdtext templates/skeleton.html

Author: jahewson
Date: Fri May  8 08:03:31 2015
New Revision: 1678299

URL: http://svn.apache.org/r1678299
Log:
Better dependency information for 2.0

Modified:
    pdfbox/cmssite/trunk/content/2.0/dependencies.mdtext
    pdfbox/cmssite/trunk/templates/skeleton.html

Modified: pdfbox/cmssite/trunk/content/2.0/dependencies.mdtext
URL: http://svn.apache.org/viewvc/pdfbox/cmssite/trunk/content/2.0/dependencies.mdtext?rev=1678299&r1=1678298&r2=1678299&view=diff
==============================================================================
--- pdfbox/cmssite/trunk/content/2.0/dependencies.mdtext (original)
+++ pdfbox/cmssite/trunk/content/2.0/dependencies.mdtext Fri May  8 08:03:31 2015
@@ -4,81 +4,57 @@ Title:     Dependencies
 
 # Dependencies
 
-PDFBox consists of a two core components and depends on a few external libraries. This page describes what these libraries are and how to include them in your application.
+PDFBox has the following basic dependencies:
 
-## Core components
+- Java 1.6 (or later)
+- [commons-logging](http://commons.apache.org/logging/)
 
-These components are needed during runtime, development and testing dependent on the details below.
-
-The two core PDFBox components are named ```pdfbox``` and ```fontbox```. The Maven groupId of all PDFBox components is org.apache.pdfbox.
-
-### Minimum Requirement
-
-The main PDFBox component, pdfbox, has a hard dependency on the [commons-logging](http://commons.apache.org/logging/) library.
 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.
 
-To add the pdfbox, fontbox and commons-logging jars to your application, the easiest thing is to declare the Maven dependency shown below. This gives you the main
-pdfbox library directly and the other required jars as transitive dependencies.
-
-    <dependency>
-      <groupId>org.apache.pdfbox</groupId>
-      <artifactId>pdfbox</artifactId>
-      <version>...</version>
-    </dependency>
-
-Set the version field to the latest stable PDFBox version.
+## Optional components
 
-## Optional dependencies
+PDFBox does not ship with all features enabled. Third party compoenets are necessary to get full support for certain functionality.
 
-Some features in PDFBox depend on optional external libraries. You can enable these features simply by including the required libraries in the classpath of your application.
+### JAI Image I/O
 
-### Extented Image Format Support
+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:
 
-To support JBIG2 and writing TIFF images additional libraries are needed.
+- 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.
 
-**The image plugins described below are not part of the PDFBox distribution because of incompatible licensing terms. Please make sure to check if the licensing terms are compatible to your usage.**
+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.
 
-For **JBIG2** support a Java ImageIO Plugin such as the [Levigo Plugin](https://github.com/levigo/jbig2-imageio) or [JBIG2-Image-Decoder
-](https://github.com/Borisvl/JBIG2-Image-Decoder) is needed. 
+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.
 
-For **JPEG 2000 (JPX)** support [JAI Image I/O Tools Core](https://java.net/projects/jai-imageio-core) is needed. 
+### Encryption and Signing
 
-To write **TIFF** images a JAI ImageIO Core library will be needed. 
-
-### PDF Encryption and Signing
-
-The most notable such optional feature is support for PDF encryption. Instead of implementing its own encryption algorithms, PDFBox uses libraries from the 
-[Legion of the Bouncy Castle](http://www.bouncycastle.org/). Both the bcprov and bcmail libraries are needed and can be included using the Maven dependencies shown below.
+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:
 
     <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcprov-jdk15</artifactId>
-      <version>1.44</version>
+        <groupId>org.bouncycastle</groupId>
+        <artifactId>bcprov-jdk15on</artifactId>
+        <version>1.51</version>
     </dependency>
-
+    
     <dependency>
-      <groupId>org.bouncycastle</groupId>
-      <artifactId>bcmail-jdk15</artifactId>
-      <version>1.44</version>
+        <groupId>org.bouncycastle</groupId>
+        <artifactId>bcmail-jdk15on</artifactId>
+        <version>1.51</version>
     </dependency>
 
-### Java 7 Cryptography
+#### Java Cryptography Extension (JCE)
 
-Building PDFBox requires a JDK with "unlimited strength" cryptography, which requires extra files to be installed.
+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). 
 
-For JDK 7: [Java Cryptography Extension (JCE)](http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html)
+This is required for building PDFBox. If these files are not installed, building PDFBox will fail the following test:
 
-Users without these files will see the message:
-
-    Failed tests:
-    TestPublicKeyEncryption.setUp:70 JCE unlimited strength jurisdiction policy files are not installed
-    TestPublicKeyEncryption.setUp:70 JCE unlimited strength jurisdiction policy files are not installed
     TestPublicKeyEncryption.setUp:70 JCE unlimited strength jurisdiction policy files are not installed
-    TestSymmetricKeyEncryption.setUp:80 JCE unlimited strength jurisdiction policy files are not installed
 
-## Dependencies for Ant builds
+## Building with Ant
 
 The above instructions expect that you're using [Maven](http://maven.apache.org/) or another build tool like [Ivy](http://ant.apache.org/ivy/) that supports Maven dependencies.
 If you instead use tools like [Ant](http://ant.apache.org/) where you need to explicitly include all the required library jars in your application, you'll need to do

Modified: pdfbox/cmssite/trunk/templates/skeleton.html
URL: http://svn.apache.org/viewvc/pdfbox/cmssite/trunk/templates/skeleton.html?rev=1678299&r1=1678298&r2=1678299&view=diff
==============================================================================
--- pdfbox/cmssite/trunk/templates/skeleton.html (original)
+++ pdfbox/cmssite/trunk/templates/skeleton.html Fri May  8 08:03:31 2015
@@ -102,7 +102,7 @@
                     
                     <li class="sidebar-header">Documentation</li>
                     <li class="sidebar-node" id="v2-0">
-                        <a href="#">Trunk</a>
+                        <a href="#">2.0.0 (SVN trunk)</a>
                         <ul>
                             <li><a href="/2.0/dependencies.html">Dependencies</a></li>
                             <li><a href="/docs/2.0.0-SNAPSHOT/javadocs/">API Docs</a></li>