View Source

The purpose of this page is to provide a summary of the most important Apache Preflight errors that are relevant to each of the risk classes.

It may be helpful to know that all Preflight errors are subdivided into 8 general categories:

|*Category*|*Details*|*Notes*|
|1.x|File structure errors|Syntax-related errors|
|2.x|Graphics errors|Errors related to graphics objects, color spaces, ICC profiles|
|3.x|Font errors| |
|4.x|Transparency errors| |
|5.x|Annotation errors|Includes checks for annotation types that are not permitted in PDF/A-1, such as Movies|
|6.x|Action errors| |
|7.x|Metadata errors| |
|8.x|PDF processing errors| |

A complete breakdown of all possible error codes within each of these categories can be found in the source code:

[http://svn.apache.org/repos/asf/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/PreflightConstants.java]



h2. PDF raises exception in Preflight

This either indicates a bug in Preflight, or some serious PDF weirdness. Either way, this should be a reason for a further investigation. Preflight exceptions can be identified from the presence of the element {{/preflight/exceptionThrown}} in the output file (assuming that Preflight is used in XML output mode). The {{exceptionThrown}} element contains two sub-elements, which may provide further clues on the cause of the error:

* a _message_ element (which may be empty)
* a _stackTrace_ element with the raw Java exceptions

h2. Malformed / not valid PDF

|*Error Code*|*Details*|*Notes*|
|8|*Processing error, -- replace with actual error message*| |
|8.1|*A Mandatory element is missing, -- replace with actual error message*| |

h2. Encryption

|*Error code*|*Details*|*Notes*|
|1.0|{{Syntax error, Error (CryptographyException) while creating security handler for decryption: Error: The supplied password does not match either the owner or user password in the document}}|Open password|
|1.4.2|{{Trailer Syntax error, The trailer dictionary contains Encrypt}}|Password needed for printing, copying, and/or text access|

h3. Note
To identify these specific features the full error message (_Details_ element) must be taken into account, as the error codes comprise some other features as well.

h2. Non-embedded, incomplete or damaged fonts
Apache Preflight is able to report a wide range of font-related errors. The safest approach may be not to accept _any_ font-related errors at all, i.e. all Preflight errors in the range 3, 3.x and 3.x.x.

h3. Note
In practice this may be overly restrictive. The following errors appear to be less serious (this needs further work):

|*Error code*|*Details*|*Notes*|
|3.1.6|{{Width array and Font program Width are inconsistent}}| |
|3.1.4|{{Invalid Font definition, The Charset entry is missing for the Type1 Subset}}|CharSet requirement was dropped in PDF/A-2|
|3.1.5|{{Invalid Font definition, The Encoding should be missing for the _FontName_ TTF}}| |


h2. JavaScript

|*Error code*|*Details*|*Notes*|
|6.2.5|{{Action is forbidden, The action JavaScript is forbidden}}|Contains JavaScript action|

h3. Note
To identify these specific features the full error message (_Details_ element) must be taken into account, as this error code comprises some other actions that are forbidden in PDF-A/1 as well. Also, currently Prelight sometimes fails to detect JavaScript (applies to Preflight 2.0.0, revision 1530740).

h2. References to external files

|*Error code*|*Details*|*Notes*|
|6.2.5|{{Action is forbidden, The action Launch is forbidden}}|Contains Launch action (used to link to external file on local drive or network location)|

h3. Note
To identify these specific features the full error message (_Details_ element) must be taken into account, as the error codes comprise some other features as well. Also note that Preflight doesn't report the presence of _URI_ actions (these refer to Internet resources) and _GoToR_ actions (refer to external, locally stored PDF files), both of which are allowed in PDF/A-1.

h2. File attachments

|*Error code*|*Details*|*Notes*|
|1.4.7|{{Trailer Syntax error, EmbeddedFile entry is present in the Names dictionary}}|Document-level file attachment|
|5.2.1|{{Forbidden field in an annotation definition, The subtype isn't authorized : FileAttachment}}|Page-level file attachment|

h3. Note
To identify these specific features the full error message (_Details_ element) must be taken into account, as the error codes comprise some other features as well.

h2. Multimedia

|*Error code*|*Details*|*Notes*|
|5.2.1|{{Forbidden field in an annotation definition, The subtype isn't authorized : Screen}}|Embedded video|
|5.2.1|{{Forbidden field in an annotation definition, The subtype isn't authorized : Movie}}|Embedded video|
|5.2.1|{{Forbidden field in an annotation definition, The subtype isn't authorized : Sound}}|Embedded audio|
|5.2.1|{{Forbidden field in an annotation definition, The subtype isn't authorized : 3D}}|Embedded 3D objects|
|6.2.5|{{Action is forbidden, The action Movie is forbidden}}|Embedded video|
|6.2.5|{{Action is forbidden, The action Sound is forbidden}}|Embedded audio (*example needed!*)|
|6.2.6|{{Action is forbidden, The action Rendition is undefined}}|Embedded video|

h3. Note
To identify these specific features the full error message (_Details_ element) must be taken into account, as the error codes comprise some other features as well.