Working with PDF/A Documents working-with-pdf-a-documents
About the DocConverter Service
The DocConverter service can convert PDF documents to PDA/A documents. You can accomplish these tasks using this service:
- Convert PDF documents to PDF/A documents. (See Converting Documents to PDF/A Documents.)
- Determine if PDF documents are PDF/A documents. (See Programmatically Determining PDF/A Compliancy.)
Converting Documents to PDF/A Documents converting-documents-to-pdf-a-documents
You can use the DocConverter service to convert a PDF document to a PDF/A document. Because PDF/A is an archival format for long-term preservation of the document’s content, all fonts are embedded and the file is uncompressed. As a result, a PDF/A document is typically larger than a standard PDF document. Also, a PDF/A document does not contain audio and video content. Before you convert a PDF document to a PDF/A document, ensure that the PDF document is not a PDF/A document.
The PDF/A-1 specification consists of two levels of conformance, namely A and B. The major difference between the two is regarding the logical structure (accessibility) support, which is not required for conformance level B. Regardless of the conformance level, PDF/A-1 dictates that all fonts are embedded within the generated PDF/A document. At this time, only PDF/A-1b is supported in validation (and conversion).
While PDF/A is the standard for archiving PDF documents, it is not mandatory that PDF/A be used for archiving if a standard PDF document meets your company’s requirements. The purpose of the PDF/A standard is to establish a PDF file meant for long-term archiving and document-preservation needs.
Summary of steps summary-of-steps
To convert a PDF document to a PDF/A document, perform the following steps:
- Include project files.
- Create a DocConvert client
- Reference a PDF document to convert to a PDF/A document.
- Set tracking information.
- Convert the document.
- Save the PDF/A document.
Include project files
Include the necessary files in your development project. If you are creating a client application by using Java, include the necessary JAR files. If you are using web services, make sure that you include the proxy files.
The following JAR files must be added to your project’s class path:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-docconverter-client.jar
- adobe-utilities.jar (required if AEM Forms is deployed on JBoss Application Server)
- jbossall-client.jar (required if AEM Forms is deployed on JBoss Application Server)
For information about the location of these JAR files, see Including AEM Forms Java library files.
Create a DocConvert client
Before you can programmatically perform an DocConverter operation, you must create a DocConverter client. If you are using the Java API, create a DocConverterServiceClient object. If you are using the DocConverter web service API, create a DocConverterServiceService object.
Reference a PDF document to convert to a PDF/A document
Retrieve a PDF document to convert to a PDF/A document. If you attempt to convert a PDF document, such as an Acrobat form, to a PDF/A document, you will cause an exception.
Set tracking information
You can set a run-time option that determines how much information is tracked during the conversion process. That is, you can set nine different levels that specify how much information the DocConverter service tracks when it converts a PDF document to a PDF/A document.
Convert the document
After you create the DocConverter service client, reference the PDF document to convert and set the run-time option that specifies how much information is tracked, you can convert the PDF document to a PDF/A document.
Save the PDF/A document
You can save the PDF/A document as a PDF file.
See also
Convert documents to PDF/A documents using the Java API
Convert documents to PDF/A documents using the web service API
Convert documents to PDF/A documents using the Java API convert-documents-to-pdf-a-documents-using-the-java-api
Convert a PDF document to a PDF/A document by using the Java API:
-
Include project files
Include client JAR files, such as adobe-docconverter-client.jar, in your Java project’s class path.
-
Create a DocConvert client
- Create a
ServiceClientFactoryobject that contains connection properties. - Create a
DocConverterServiceClientobject by using its constructor and passing theServiceClientFactoryobject.
- Create a
-
Reference a PDF document to convert to a PDF/A document
- Create a
java.io.FileInputStreamobject that represents the PDF document to convert by using its constructor and passing a string value that specifies the location of the PDF file. - Create a
com.adobe.idp.Documentobject by using its constructor and passing thejava.io.FileInputStreamobject.
- Create a
-
Set tracking information
- Create a
PDFAConversionOptionSpecobject by using its constructor. - Set the information tracking level by invoking the
PDFAConversionOptionSpecobject’ssetLogLevelmethod and passing a string value that specifies the tracking level. For example, pass the valueFINE. For information about the different values, see thesetLogLevelmethod in the AEM Forms API Reference.
- Create a
-
Convert the document
Convert the PDF document to a PDF/A document by invoking the
DocConverterServiceClientobject’stoPDFAmethod and passing the following values:- The
com.adobe.idp.Documentobject that contains the PDF document to convert - The
PDFAConversionOptionSpecobject that specifies tracking information
The
toPDFAmethod returns aPDFAConversionResultobject that contains the PDF/A document. - The
-
Save the PDF/A document
- Retrieve the PDF/A document by invoking the
PDFAConversionResultobject’sgetPDFAmethod. This method returns acom.adobe.idp.Documentobject that represents the PDF/A document. - Create a
java.io.Fileobject that represents the PDF/A file. Ensure that the file name extension is .pdf. - Populate the file with PDF/A data by invoking the
com.adobe.idp.Documentobject’scopyToFilemethod and passing thejava.io.Fileobject.
- Retrieve the PDF/A document by invoking the
See also
Quick Start (SOAP mode): Converting a document to a PDF/A document using the Java API
Convert documents to PDF/A documents using the web service API convert-documents-to-pdf-a-documents-using-the-web-service-api
Convert a PDF document to a PDF/A document by using the DocConverter API (web service):
-
Include project files
- Create a Microsoft .NET client assembly that consumes the DocConverter WSDL.
- Reference the Microsoft .NET client assembly.
-
Create a DocConvert client
- Using the Microsoft .NET client assembly, create a
DocConverterServiceServiceobject by invoking its default constructor. - Set the
DocConverterServiceServiceobject’sCredentialsdata member with aSystem.Net.NetworkCredentialvalue that specifies the user name and password value.
- Using the Microsoft .NET client assembly, create a
-
Reference a PDF document to convert to a PDF/A document
- Create a
BLOBobject by using its constructor. TheBLOBobject is used to store the PDF document that is converted to a PDF/A document. - Create a
System.IO.FileStreamobject by invoking its constructor and passing a string value that represents the file location of the PDF document and the mode to open the file in. - Create a byte array that stores the content of the
System.IO.FileStreamobject. You can determine the size of the byte array by getting theSystem.IO.FileStreamobject’sLengthproperty. - Populate the byte array with stream data by invoking the
System.IO.FileStreamobject’sReadmethod and passing the byte array, the starting position, and the stream length to read. - Populate the
BLOBobject by assigning itsbinaryDataproperty with the contents of the byte array.
- Create a
-
Set tracking information
- Create a
PDFAConversionOptionSpecobject by using its constructor. - Set the information tracking level by assigning a value that specifies the tracking level to the
PDFAConversionOptionSpecobject’slogLeveldata member. For example, assign the valueFINEto this data member.
- Create a
-
Convert the document
Convert the PDF document to a PDF/A document by invoking the
DocConverterServiceServiceobject’stoPDFAmethod and passing the following values:- The
BLOBobject that contains the PDF document to convert - The
PDFAConversionOptionSpecobject that specifies tracking information
The
toPDFAmethod returns aPDFAConversionResultobject that contains the PDF/A document. - The
-
Save the PDF/A document
- Create a
BLOBobject that stores the PDF/A document by getting the value of thePDFAConversionResultobject’sPDFADocumentdata member. - Create a byte array that stores the content of the
BLOBobject that was returned by using thePDFAConversionResultobject. Populate the byte array by getting the value of theBLOBobject’sbinaryDatadata member. - Create a
System.IO.FileStreamobject by invoking its constructor and passing a string value that represents the file location of the PDF/A document. - Create a
System.IO.BinaryWriterobject by invoking its constructor and passing theSystem.IO.FileStreamobject. - Write the contents of the byte array to a PDF file by invoking the
System.IO.BinaryWriterobject’sWritemethod and passing the byte array.
- Create a
See also
Programmatically Determining PDF/A Compliancy programmatically-determining-pdf-a-compliancy
You can use the DocConverter service to determine whether a PDF document is PDF/A-compliant. For information about a PDF/A document and how to convert a PDF document to a PDF/A document, see Converting Documents to PDF/A Documents.
Summary of steps summary_of_steps-1
To determine PDF/A compliancy, perform the following steps:
- Include project files.
- Create a DocConvert client
- Reference a PDF document used to determine PDF/A compliancy.
- Set run-time options.
- Retrieve information about the PDF document.
Include project files
Include the necessary files in your development project. If you are creating a client application by using Java, include the necessary JAR files. If you are using web services, make sure that you include the proxy files.
The following JAR files must be added to your project’s class path:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-docconverter-client.jar
- adobe-utilities.jar (required if AEM Forms is deployed on JBoss Application Server)
- jbossall-client.jar (required if AEM Forms is deployed on JBoss Application Server)
For information about the location of these JAR files, see Including AEM Forms Java library files.
Create a DocConvert client
Before you can programmatically perform an DocConverter operation, you must create a DocConverter client. If you are using the Java API, create a DocConverterServiceClient object. If you are using the DocConverter web service API, create a DocConverterServiceService object.
Reference a PDF document used to determine PDF/A compliancy
A PDF document must be referenced and passed to the DocConverter service to determine whether the PDF document is PDF/A-compliant.
Set run-time options
You can set a run-time option that determines how much information is tracked during the conversion process. That is, you can set nine different level that specify how much information the DocConverter service tracks when it converts a PDF document to a PDF/A document.
Retrieve information about the PDF document
After you create the DocConverter service client, reference the PDF document, and set the run-time options, you can determine whether the PDF document is a PDF/A-compliant document.
See also
Determine PDF/A compliancy using the Java API
Determine PDF/A compliancy using the web service API
Determine PDF/A compliancy using the Java API determine-pdf-a-compliancy-using-the-java-api
Determine PDF/A compliancy by using the Java API:
-
Include project files
Include client JAR files, such as adobe-docconverter-client.jar, in your Java project’s class path.
-
Create a DocConvert client
- Create a
ServiceClientFactoryobject that contains connection properties. - Create a
DocConverterServiceClientobject by using its constructor and passing theServiceClientFactoryobject.
- Create a
-
Reference a PDF document used to determine PDF/A compliancy
- Create a
java.io.FileInputStreamobject that represents the PDF document to convert by using its constructor and passing a string value that specifies the location of the PDF file. - Create a
com.adobe.idp.Documentobject by using its constructor and passing thejava.io.FileInputStreamobject.
- Create a
-
Set run-time options
- Create a
PDFAValidationOptionSpecobject by using its constructor. - Set the compliance level by invoking the
PDFAValidationOptionSpecobject’ssetCompliancemethod and passingPDFAValidationOptionSpec.Compliance.PDFA_1B. - Set the information tracking level by invoking the
PDFAValidationOptionSpecobject’ssetLogLevelmethod and passing a string value that specifies the tracking level. For example, pass the valueFINE. For information about the different values, see thesetLogLevelmethod in the AEM Forms API Reference.
- Create a
-
Retrieve information about the PDF document
Determine PDF/A compliancy by invoking the
DocConverterServiceClientobject’sisPDFAmethod and passing the following values:- The
com.adobe.idp.Documentobject that contains the PDF document. - The
PDFAValidationOptionSpecobject that specifies run-time options.
The
isPDFAmethod returns aPDFAValidationResultobject that contains the results of this operation. - The
See also
Quick Start (SOAP mode): Determining PDF/A compliancy using the Java API
Determine PDF/A compliancy using the web service API determine-pdf-a-compliancy-using-the-web-service-api
Determine PDF/A compliancy by using the web service API:
-
Include project files
- Create a Microsoft .NET client assembly that consumes the DocConverter WSDL.
- Reference the Microsoft .NET client assembly.
-
Create a DocConvert client
- Using the Microsoft .NET client assembly, create a
DocConverterServiceServiceobject by invoking its default constructor. - Set the
DocConverterServiceServiceobject’sCredentialsdata member with aSystem.Net.NetworkCredentialvalue that specifies the user name and password value.
- Using the Microsoft .NET client assembly, create a
-
Reference a PDF document used to determine PDF/A compliancy
- Create a
BLOBobject by using its constructor. TheBLOBobject is used to store the PDF document that is converted to a PDF/A document. - Create a
System.IO.FileStreamobject by invoking its constructor and passing a string value that represents the file location of the PDF document and the mode to open the file in. - Create a byte array that stores the content of the
System.IO.FileStreamobject. You can determine the size of the byte array by getting theSystem.IO.FileStreamobject’sLengthproperty. - Populate the byte array with stream data by invoking the
System.IO.FileStreamobject’sReadmethod and passing the byte array, the starting position, and the stream length to read. - Populate the
BLOBobject by assigning itsbinaryDataproperty with the contents of the byte array.
- Create a
-
Set run-time options
- Create a
PDFAValidationOptionSpecobject by using its constructor. - Set the compliance level by assigning the
PDFAValidationOptionSpecobject’scompliancedata member with the valuePDFAConversionOptionSpec_Compliance.PDFA_1B. - Set the information tracking level by assigning the
PDFAValidationOptionSpecobject’sresultLeveldata member with the valuePDFAValidationOptionSpec_ResultLevel.DETAILED.
- Create a
-
Retrieve information about the PDF document
Determine PDF/A compliancy by invoking the
DocConverterServiceServiceobject’sisPDFAmethod and passing the following values:- The
BLOBobject that contains the PDF document. - The
PDFAValidationOptionSpecobject that contains run-time options.
The
isPDFAmethod returns aPDFAValidationResultobject that contains the results of this operation. - The
See also
Invoking AEM Forms using Base64 encoding
Creating a .NET client assembly that uses Base64 encoding