Java API Quick Start(SOAP) is available for the DocConverter service.
Quick Start (SOAP mode): Determining PDF/A compliancy using the Java API
Quick Start (SOAP mode): Converting a document to a PDF/A document using the Java API
AEM Forms operations can be performed using the AEM Forms strongly-typed API and the connection mode should be set to SOAP.
Quick Starts located in Programming with AEM forms are based on the Forms Server being deployed on JBoss Application Server and the Microsoft Windows operating system. However, if you are using another operating system, such as UNIX, replace Windows-specific paths with paths that are supported by the applicable operating system. Likewise, if you are using another J2EE application server, ensure that you specify valid connection properties. See Setting connection properties.
The following Java code example converts a PDF document named Loan.pdf to a PDF/A document that is saved as a PDF file named LoanArchive.pdf. (See Converting Documents to PDF/A Documents.)
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-docconverter-client.jar
* 2. adobe-livecycle-client.jar
* 3. adobe-usermanager-client.jar
* 4. adobe-utilities.jar
* 5. jboss-client.jar (use a different JAR file if the forms server is not deployed
* on JBoss)
* 6. activation.jar (required for SOAP mode)
* 7. axis.jar (required for SOAP mode)
* 8. commons-codec-1.3.jar (required for SOAP mode)
* 9. commons-collections-3.1.jar (required for SOAP mode)
* 10. commons-discovery.jar (required for SOAP mode)
* 11. commons-logging.jar (required for SOAP mode)
* 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 14. jaxrpc.jar (required for SOAP mode)
* 15. log4j.jar (required for SOAP mode)
* 16. mail.jar (required for SOAP mode)
* 17. saaj.jar (required for SOAP mode)
* 18. wsdl4j.jar (required for SOAP mode)
* 19. xalan.jar (required for SOAP mode)
* 20. xbean.jar (required for SOAP mode)
* 21. xercesImpl.jar (required for SOAP mode)
*
* These JAR files are located in the following path:
* <install directory>/sdk/client-libs/common
*
* The adobe-utilities.jar file is located in the following path:
* <install directory>/sdk/client-libs/jboss
*
* The jboss-client.jar file is located in the following path:
* <install directory>/jboss/bin/client
*
* SOAP required JAR files are located in the following path:
* <install directory>/sdk/client-libs/thirdparty
*
* If you want to invoke a remote forms server instance and there is a
* firewall between the client application and the server, then it is
* recommended that you use the SOAP mode. When using the SOAP mode,
* you have to include these additional JAR files
*
* For information about the SOAP
* mode, see "Setting connection properties" in Programming
* with AEM Forms
*/
import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.livecycle.docconverter.client.DocConverterServiceClient;
import com.adobe.livecycle.docconverter.client.PDFAConversionOptionSpec;
import com.adobe.livecycle.docconverter.client.PDFAConversionResult;
public class CreatePDFADocumentSOAP {
public static void main(String[] args) {
try{
//Set connection properties required to invoke AEM Forms
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
//Create a ServiceClientFactory instance
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
//Create a DocConverterServiceClient object
DocConverterServiceClient docConverter = new DocConverterServiceClient(myFactory);
//Reference a PDF document to convert to a PDF/A document
FileInputStream myPDF = new FileInputStream("C:\\Adobe\Loan.pdf");
Document inDoc = new Document(myPDF);
//Create a PDFAConversionOptionSpec object and set
//tracking information
PDFAConversionOptionSpec spec = new PDFAConversionOptionSpec();
spec.setLogLevel("FINE");
//Convert the PDF document to a PDF/A document
PDFAConversionResult result = docConverter.toPDFA(inDoc,spec);
//Save the PDF/A file
Document pdfADoc= result.getPDFADocument();
File pdfAFile = new File("C:\\Adobe\LoanArchive.pdf");
pdfADoc.copyToFile(pdfAFile);
}catch (Exception e) {
e.printStackTrace();
}
}
}
The following Java code example determines whether the input PDF document is PDF/A-compliant. The input PDF document that is passed to the DocConverter service is named LoanArchive.pdf. Validation results are written to an XML file named ValidationResults.xml. (See Programmatically Determining PDF/A Compliancy.)
/*
* This Java Quick Start uses the SOAP mode and contains the following JAR files
* in the class path:
* 1. adobe-docconverter-client.jar
* 2. adobe-livecycle-client.jar
* 3. adobe-usermanager-client.jar
* 4. adobe-utilities.jar
* 5. jboss-client.jar (use a different JAR file if the forms server is not deployed
* on JBoss)
* 6. activation.jar (required for SOAP mode)
* 7. axis.jar (required for SOAP mode)
* 8. commons-codec-1.3.jar (required for SOAP mode)
* 9. commons-collections-3.1.jar (required for SOAP mode)
* 10. commons-discovery.jar (required for SOAP mode)
* 11. commons-logging.jar (required for SOAP mode)
* 12. dom3-xml-apis-2.5.0.jar (required for SOAP mode)
* 13. jaxen-1.1-beta-9.jar (required for SOAP mode)
* 14. jaxrpc.jar (required for SOAP mode)
* 15. log4j.jar (required for SOAP mode)
* 16. mail.jar (required for SOAP mode)
* 17. saaj.jar (required for SOAP mode)
* 18. wsdl4j.jar (required for SOAP mode)
* 19. xalan.jar (required for SOAP mode)
* 20. xbean.jar (required for SOAP mode)
* 21. xercesImpl.jar (required for SOAP mode)
*
* These JAR files are located in the following path:
* <install directory>/sdk/client-libs/common
*
* The adobe-utilities.jar file is located in the following path:
* <install directory>/sdk/client-libs/jboss
*
* The jboss-client.jar file is located in the following path:
* <install directory>/jboss/bin/client
*
* SOAP required JAR files are located in the following path:
* <install directory>/sdk/client-libs/thirdparty
*
* If you want to invoke a remote forms server instance and there is a
* firewall between the client application and the server, then it is
* recommended that you use the SOAP mode. When using the SOAP mode,
* you have to include these additional JAR files
*
* For information about the SOAP
* mode, see "Setting connection properties" in Programming
* with AEM Forms
*/
import java.util.*;
import java.io.File;
import java.io.FileInputStream;
import com.adobe.idp.Document;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;
import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;
import com.adobe.livecycle.docconverter.client.DocConverterServiceClient;
import com.adobe.livecycle.docconverter.client.PDFAValidationOptionSpec;
import com.adobe.livecycle.docconverter.client.PDFAValidationResult;
public class IsDocumentPDFASOAP {
public static void main(String[] args) {
try{
//Set connection properties required to invoke AEM Forms using SOAP mode
Properties connectionProps = new Properties();
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "https://'[server]:[port]'");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");
connectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
//Create a ServiceClientFactory instance
ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);
//Create a DocConverterServiceClient object
DocConverterServiceClient docConverter = new DocConverterServiceClient(myFactory);
//Reference a PDF document used to determine PDF/A compliancy
FileInputStream myPDF = new FileInputStream("C:\\Adobe\LoanArchive.pdf");
Document inDoc = new Document(myPDF);
//Create a PDFAValidationOptionSpec object and set
//run-time values
PDFAValidationOptionSpec spec = new PDFAValidationOptionSpec();
spec.setCompliance(PDFAValidationOptionSpec.Compliance.PDFA_1B);
spec.setResultLevel(PDFAValidationOptionSpec.ResultLevel.DETAILED);
spec.setLogLevel("FINE");
spec.setIgnoreUnusedResource(true);
//Determine if the PDF document is PDF/A compliant
PDFAValidationResult result = docConverter.isPDFA(inDoc,spec) ;
//Get the results of the operation
Boolean isPDFA = result.getIsPDFA();
//Get XML data that contains validaction results
Document validationResults = result.getValidationLog();
File file= new File("C:\\Adobe\ValidationResults.xml");
validationResults .copyToFile(file);
}catch (Exception e) {
e.printStackTrace();
}
}
}