Some test text!

Search
Hamburger Icon

Cli / Guides / Usage

PDF/A Manager exit codes, formats & reporting

Apryse's PDF/A Manager is a command-line application designed to validate and convert generic PDF documents to PDF/A (ISO 19005-1) compliant format. This section covers basic usage and the command string syntax, used both in the PDF/A Manager Command-Line Application as well as in PDF/A Manager SDK.

Basic Syntax

The basic command-line syntax is:

pdfa [options] file1 file2 folder1 file3 ...

See more options in Command-Line Summary for PDF/A Manager

Exit Codes

To provide additional feedback, PDF/A Manager returns exit codes after completing processing. The exit codes can be used to provide user feedback for logging, etc. This is particularly important for applications running in an unattended environment.

The following table lists possible exit codes and their description:

Exit Code       Description
--------------- ------------------------------------------------------------------
0               All files converted successfully.
1               Document is secured. Need a valid password to open the document.
2               Error opening the input file(s).
3               An unknown exception encountered.

All codes other then '0' indicate that there was an error during the conversion process.

The following illustrates a sample Windows batch script that processes exit codes:

@echo off rem convert all PDF files in 'data' folder
pdfa ./data
if errorlevel 1 goto passwd
if errorlevel 2 goto inputerr
if errorlevel 3 goto othererror
if errorlevel 0 goto exit

:passwd
echo Document is protected. Need a valid password to open the document.
goto exit

:inputerr
echo No input files specified.
goto exit

:othererror
echo An error encountered during processing.
goto exit

:exit

PDF/A Manager Reporting

This section covers PDF/A Manager report formats and all the possible error conversion and validation options.

PDF/A Manager XML Report Format

By default PDF/A Manager stores details of validation and conversion processing in an XML file. The report is saved as 'report.xml' in the output directory. Similarly, the style sheet for the report is saved as 'report.xsl' in the output directory. Double clicking on 'report.xml' will launch a web browser display HTML report as shown in the following figure:

pdfa-report

The report includes the following information:

  • The date and time when the report was generated

  • A listing of files that fail validation prior to conversion. The information in this table includes the input PDF filename, error code, error message, and a list of relevant PDF object numbers.

  • A listing of files that pass validation and for which no conversion is necessary.

  • A listing of files that fail validation after to conversion. Usually this list includes files that can't be fully converted to PDF/A without significant information loss.

  • A final list of files that pass validation after conversion.

The general structure of XML report is as follows:

<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="report.xsl"?>
<PDFAManagerReport RunDateTime="2009-Jul-16 22:46:04">
  <Validation>
    <Fail FileName="my.pdf" FileNameAndPath="c:\my.pdf">
      <Error Code="e_PDFA232" Message="Not a valid ICC color profile" Refs="3"/>
    </Fail>
  </Validation>
  <Validation>
    <Fail FileName="license.pdf" FileNameAndPath="c:\ license.pdf"> <Error Code="e_PDFA185" Message="'obj' not followed by EOL marker" Refs="1, 2, 3, 4, 5, 6, 7, 8, 9, 12"/>
      <Error Code="e_PDFA341" Message="The font is not embedded" Refs="16, 17, 18"/>
      <Error Code="e_PDFA353" Message="Embedded TrueType font program..." Refs="16, 17, 18"/>
      <Error Code="e_PDFA723" Message="The XMP Metadata stream is not valid" Refs="39"/>
      <Error Code="e_PDFA2331" Message="Device-specific color space used, but no GTS_PDFA1 OutputIntent" Refs="1, 4, 14"/>
    </Fail>
  </Validation>
</PDFAManagerReport>

To disable report generation, simply include '--noxml' in the command-line string. Disabling XML report generation will direct processing results to the console window.

c:\PDFA\ >pdfa --noxml -c -o OUT my.pdf Processing...
VLD-[FAIL]: my.pdf
  - e_PDFA185: 'obj' not followed by EOL marker Obj Refs:1, 2, 3, 4, 5, 6, 7, 8, 9, 12
  - e_PDFA341: The font is not embedded Obj Refs:16, 17, 18
  - e_PDFA723: The XMP Metadata stream is not valid Obj Refs:39
  - e_PDFA2331: Device-specific color space used, but no GTS_PDFA1 Output Intent Obj Refs:1, 4, 14
CNV-[PASS]: my_pdfa.pdf

PDF/A Manager Validation and Conversion Error Codes

PDF/A Manager analyzes the content of existing PDF files and performs a sequence of modifications in order to produce a PDF/A compliant document. Features that are not suitable for long-term archiving (such as encryption, obsolete compression schemes, missing fonts, or device-dependent color) are replaced with their PDF/A compliant equivalents.

PDF/A Level B Validation Errors

The following table is a non-exhaustive list of checks and conversions performed by PDF/A Manager for Level B Validation:

Error Code       Description
---------------- ------------------------------------------------------------------------------------------------------------------------
e_PDFA0_1_1      Corrupt document
e_PDFA0_1_2      Corrupt content stream.
e_PDFA0_1_3      Using JPEG2000 compression (PDF 1.4 compatibility).
e_PDFA0_1_4      Contains compressed object streams (PDF 1.4 compatibility).
e_PDFA0_1_5      Contains cross-reference streams (PDF 1.4 compatibility).
e_PDFA1_2_1      Document does not start with % character.
e_PDFA1_2_2      File header line not followed by % and 4 characters > 127.
e_PDFA1_3_1      The trailer dictionary does not contain ID.
e_PDFA1_3_2      Trailer dictionary contains Encrypt.
e_PDFA1_3_3      Data after last EOF marker.
e_ PDFA1_3_4     Linearized file: ID in 1st page and last trailer are different.
e_PDFA1_4_1      Subsection header: starting object number and range not separated by a single space.
e_PDFA1_4_2      'xref' and cross reference subsection header not separated by a single EOL marker.
e_PDFA1_6_1      Invalid hexadecimal strings used.
e_PDFA1_7_1      The 'stream' token is not followed by CR and LF or a single LF.
e_PDFA1_7_2      The 'endstream' token is not preceded by EOL.
e_PDFA1_7_3      The value of Length does not match the number of bytes.
e_PDFA1_7_4      A stream object dictionary contains the F, FFilter, or FDecodeParms keys.
e_PDFA1_8_1      Object number and generation number are not separated by a single white-space.
e_PDFA1_8_2      Generation number and 'obj' are not separated by a single white-space.
e_PDFA1_8_3      Object number not preceded by EOL marker
e_PDFA1_8_4      'endobj' not preceded by EOL marker
e_PDFA1_8_5      'obj' not followed by EOL marker
e_PDFA1_8_6      'endobj' not followed by EOL marker
e_PDFA1_10_1     Using LZW compression.
e_PDFA1_11_1     A file specification dictionary contains the EF key.
e_PDFA1_11_2     Contains the EmbeddedFiles key
e_PDFA1_12_1     Array contains more than 8191 elements
e_PDFA1_12_2     Dictionary contains more than 4095 elements
e_PDFA1_12_3     Name with more than 127 bytes
e_PDFA1_12_4     Contains an integer value outside of the allowed range
e_PDFA1_12_5     Exceeds the maximum number (8,388,607) of indirect objects in a PDF file.
e_PDFA1_12_6     The number of nested q/Q operators is greater than 28
e_PDFA1_13_1     Optional content (layers) not allowed.
e_PDFA2_2_1      DestOutputProfile-s in OutputIntents array do not match.
e_PDFA2_3_2      Not a valid ICC color profile.
e_PDFA2_3_3      The N entry does not match the number of color components in the embedded ICC profile.
e_PDFA2_3_3_1    Device-specific color space used, but no GTS_PDFA1 OutputIntent.
e_PDFA2_3_3_2    Device-specific color space, does not match OutputIntent.
e_PDFA2_3_4_1    Device-specific color space used in an alternate color space.
e_PDFA2_4_1      Image with Alternates key.
e_PDFA2_4_2      Image with OPI key.
e_PDFA2_4_3      Image with invalid rendering intent.
e_PDFA2_4_4      Image with Interpolate key set to true
e_PDFA2_5_1      XObject with OPI key.
e_PDFA2_5_2      PostScript XObject.
e_PDFA2_6_1      Contains a reference XObject.
e_PDFA2_7_1      Contains an XObject that is not supported (e.g. PostScript XObject
e_PDFA2_8_1      Contains an invalid Transfer Curve in the extended graphics state.
e_PDFA2_9_1      Use of an invalid rendering intent
e_PDFA2_10_1     Illegal operator.
e_PDFA3_2_1      Embedded font is damaged.
e_PDFA3_3_1      Incompatible CIDSystemInfo entries
e_PDFA3_3_2      Type 2 CIDFont without CIDToGIDMap
e_PDFA3_3_3_1    CMap not embedded
e_PDFA3_3_3_2    Inconsistent WMode in embedded CMap dictionary and stream.
e_PDFA3_4_1      The font is not embedded.
e_PDFA3_5_1      Embedded composite (Type0) font program does not define all font glyphs.
e_PDFA3_5_2      Embedded Type1 font program does not define all font glyphs.
e_PDFA3_5_3      Embedded TrueType font program does not define all font glyphs.
e_PDFA3_5_4      The font descriptor dictionary does not include a CIDSet stream for CIDFont subset.
e_PDFA3_5_5      The font descriptor dictionary does not include a CharSet string for Type1 font subset.
e_PDFA3_6_1      Widths in embedded font are inconsistent with /Widths entry in the font dictionary.
e_PDFA3_7_1      A non-symbolic TrueType font must use WinAnsiEncoding or MacRomanEncoding.
e_PDFA3_7_2      A symbolic TrueType font must not specify encoding.
e_PDFA3_7_3      A symbolic TrueType font does not have exactly one entry in cmap table.
e_PDFA4_1        Transparency used (ExtGState with soft mask).
e_PDFA4_2        Transparency used (XObject with soft mask).
e_PDFA4_3        Transparency used (Form XObject with transparency group).
e_PDFA4_4        Transparency used (Blend mode is not 'Normal').
e_PDFA4_5        Transparency used ('CA' value is not 1.0).
e_PDFA4_6        Transparency used ('ca' value is not 1.0).
e_PDFA5_2_1      Unknown annotation type.
e_PDFA5_2_2      FileAttachment annotation is not permitted.
e_PDFA5_2_3      Sound annotation is not permitted.
e_PDFA5_2_4      Movie annotation is not permitted.
e_PDFA5_2_5      Redact annotation is not permitted.
e_PDFA5_2_6      3D annotation is not permitted.
e_PDFA5_2_7      Caret annotation is not permitted.
e_PDFA5_2_8      Watermark annotation is not permitted.
e_PDFA5_2_9      Polygon annotation is not permitted.
e_PDFA5_2_10     PolyLine annotation is not permitted.
e_PDFA5_2_11     Screen annotation is not permitted.
e_PDFA5_3_1      An annotation dictionary contains the CA key with a value other than 1.0.
e_PDFA5_3_2_1    An annotation dictionary is missing F key.
e_PDFA5_3_2_2    An annotation's 'Print' flag is not set
e_PDFA5_3_2_3    An annotation's 'Hidden' flag is set.
e_PDFA5_3_2_4    An annotation's 'Invisible' flag is set.
e_PDFA5_3_2_5    An annotation's 'NoView' flag is set.
e_PDFA5_3_3_1    An annotation's C entry present but no OutputIntent present
e_PDFA5_3_3_2    An annotation's C entry present but OutputIntent has non-RGB destination profile
e_PDFA5_3_3_3    An annotation's IC entry present but no OutputIntent present
e_PDFA5_3_3_4    An annotation's IC entry present and OutputIntent has non-RGB destination profile
e_PDFA5_3_4_1    An annotation AP dictionary has entries other than the N entry.
e_PDFA5_3_4_2    An annotation AP dictionary does not contain N entry
e_PDFA5_3_4_3    AP has an N entry whose value is not a stream
e_PDFA6_1_1      Contains an action type that is not permitted.
e_PDFA6_1_2      Contains a non-predefined Named action.
e_PDFA6_2_1      The document catalog dictionary contains AA entry.
e_PDFA6_2_2      Contains the JavaScript key.
e_PDFA6_2_3      Invalid destination.
e_PDFA7_2_1      The document catalog does not contain Metadata stream.
e_PDFA7_2_2      The Metadata object stream contains Filter key.
e_PDFA7_2_3      The XMP Metadata stream is not valid.
e_PDFA7_2_4      XMP property not predefined and no extension schema present.
e_PDFA7_2_5      XMP not included in 'xpacket'.
e_PDFA7_3_1      Document information entry 'Title' not synchronized with XMP.
e_PDFA7_3_2      Document information entry 'Author' not synchronized with XMP.
e_PDFA7_3_3      Document information entry 'Subject' not synchronized with XMP.
e_PDFA7_3_4      Document information entry 'Keywords' not synchronized with XMP.
e_PDFA7_3_5      Document information entry 'Creator' not synchronized with XMP.
e_PDFA7_3_6      Document information entry 'Producer' not synchronized with XMP.
e_PDFA7_3_7      Document information entry 'CreationDate' not synchronized with XMP.
e_PDFA7_3_8      Document information entry 'ModDate' not synchronized with XMP.
e_PDFA7_3_9      Wrong value type for predefined XMP property.
e_PDFA7_5_1      'bytes' and 'encoding' attributes are allowed in the header of an XMP packet.
e_PDFA7_8_1      XMP Extension schema doesn't have a description.
e_PDFA7_8_2      XMP Extension schema is not valid. Required property 'namespaceURI' might be missing in PDF/A Schema value Type.
e_PDFA7_8_3      'pdfaExtension:schemas' not found.
e_PDFA7_8_4      'pdfaExtension:schemas' is using a wrong value type.
e_PDFA7_8_5      'pdfaExtension:property' not found.
e_PDFA7_8_6      'pdfaExtension:property' is using a wrong value type.
e_PDFA7_8_7      'pdfaProperty:name' not found.
e_PDFA7_8_8      'pdfaProperty:name' is using a wrong value type.
e_PDFA7_8_9      A description for a property is missing in 'pdfaSchema:property' sequence.
e_PDFA7_8_10     'pdfaProperty:valueType' not found.
e_PDFA7_8_11     The required namespace prefix for extension schema is 'pdfaExtension'.
e_PDFA7_8_12     The required field namespace prefix is 'pdfaSchema'.
e_PDFA7_8_13     The required field namespace prefix is 'pdfaProperty'.
e_PDFA7_8_14     The required field namespace prefix is 'pdfaType'.
e_PDFA7_8_15     The required field namespace prefix is 'pdfaField'.
e_PDFA7_8_16     'pdfaSchema:valueType' not found.
e_PDFA7_8_17     'pdfaSchema:valueType' is using a wrong value type.
e_PDFA7_8_18     Required property 'valueType' missing in PDF/A Schema Value Type.
e_PDFA7_8_19     'pdfaType:type' not found.
e_PDFA7_8_20     'pdfaType:type' is using a wrong value type.
e_PDFA7_8_21     'pdfaType:description' not found.
e_PDFA7_8_22     'pdfaType:namespaceURI' not found.
e_PDFA7_8_23     'pdfaType:field' is using a wrong value type.
e_PDFA7_8_24     'pdfaField:name' not found.
e_PDFA7_8_25     'pdfaField:name' is using a wrong value type.
e_PDFA7_8_26     'pdfaField:valueType' not found.
e_PDFA7_8_27     'pdfaField:valueType' is using a wrong type.
e_PDFA7_8_28     'pdfaField:description' not found.
e_PDFA7_8_29     'pdfaField:description' is using a wrong type.
e_PDFA7_8_30     Required description for 'pdfaField::valueType' is missing.
e_PDFA7_8_31     A property doesn't match its custom schema type.
e_PDFA7_11_1     Missing PDF/A identifier.
e_PDFA7_11_2     Invalid PDF/A identifier namespace
e_PDFA7_11_3     Invalid PDF/A conformance level.
e_PDFA7_11_4     Invalid PDF/A part number.
e_PDFA7_11_5     Invalid PDF/A amendment identifier.
e_PDFA9_1        An interactive form field contains an action.
e_PDFA9_2        The NeedAppearances flag in the interactive form dictionary is set to true.

4.2.2 PDF/A Level A Validation Errors

The following table is a non-exhaustive list of checks and conversions performed by PDF/A Manager for Level A Validation:

Error Code       Description
---------------- ----------------------------------------------------------------------------------------------------------------------------
e_PDFA3_8_1      The font dictionary is missing 'ToUnicode' entry and additional font requirements for are not met.
e_PDFA8_2_2      The PDF is not marked as Tagged PDF.
e_PDFA8_3_3_1    Bad StructTreeRoot
e_PDFA8_3_3_2    Each structure element dictionary in the structure hierarchy must have a Type entry with the name value of StructElem.
e_PDFA8_3_4_1    A non-standard structure type does not map to a standard type.

Get the answers you need: Chat with us