You're viewing help content for version:

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.

Note: 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.)

Quick Start (SOAP mode): Converting a document to a PDF/A document using the Java API

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, "http://[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(); 
     } 
      } 
 }

Quick Start (SOAP mode): Determining PDF/A compliancy using the Java API

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, "http://[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(); 
     } 
      } 
 }

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy