Welcome to jPDFPreflight


jPDFPreflight is a Java library used to convert and verify PDF documents for compliance against a number of common PDF profiles.


jPDFPreflight supports the following profiles:


PDF/UA - Verify Only

PDF/A-1a - Verify Only

PDF/A-1b - Verify and Convert

PDF/A-2b - Verify and Convert

PDF/A-2u - Verify and Convert

PDF/A-3b - Verify and Convert

PDF/A-3u - Verify and Convert

PDF/A-3b ZUGFeRD - Verify Only


PDF/X-1a:2001 - Verify Only

PDF/X-1a:2003 - Verify and Convert

PDF/X-3:2002 - Verify Only

PDF/X-3:2003 - Verify and Convert

PDF/X-4 - Verify Only

PDF/X-4p - Verify Only

PDF/X-5g - Verify Only

PDF/X-5gp - Verify Only


As part of the verification process, jPDFPreflight produces a detailed report of any elements that are non-compliant and can also add annotations to the document to identify the elements.


jPDFPreflight is 100% Java, so it is platform independent and can be used in any environment that supports Java, including Windows, Linux and other Unix flavors and Mac OSX.


This sample program demonstrates how PDF documents can be processed by jPDFPreflight to convert or verify documents. The source code that makes calls to the jPDFPreflight library is included in a folder called jPDFPreflightSamples.


Key features of jPDFPreflight are:


- Convert PDF documents to make them compliant with PDF/A variants

- Verify PDF compliance against a number of standards

- Detailed report listing non-compliant elements

- Add annotations to the document at locations where there is non-compliance

- Written entirely in Java™ - allows your application to remain platform independent

- No additional drivers or software needed when deploying your application


Jar files - There are a number of jar files that are included in the installation of this evaluation program. Only the jPDFPreflight.jar file is always required for deployment, the remaining jar files are used to work with specific features in some PDF documents:


jPDFPreflight.jar - This is the main jar file for the component, it is always required.


bcpkix, bcprov.jar, and bcutil.jar - These files contain the Bouncycastle security libraries, they are only used to verify digital signatures, when present.