Quick Start (SOAP mode): Creating a PDF document based on an application XDP file using the Java API

The following Java code example creates a PDF document named Loan.pdf . This PDF document is based on a form design named Loan.xdp and an XML data file named Loan.xml . The XDP file is deployed as part of an AEM Forms application named Applications/FormsApplication . Notice that the URI path is repository:///Applications/FormsApplication/1.0/FormsFolder/ . The Loan.pdf is written to the C:\Adobe folder located on the J2EE application server hosting AEM Forms, not the client computer. (See Creating PDF Documents.)

Before running this quick start, ensure that you create an AEM Forms application named Applications/FormsApplication. Create a folder within the application named FormsFolder and place the XDP file in the folder. For more information, see Generate a PDF document .
/* 
    * This Java Quick Start uses the SOAP mode and contains the following JAR files 
    * in the class path: 
    * 1. adobe-output-client.jar 
    * 2. adobe-livecycle-client.jar 
    * 3. adobe-usermanager-client.jar 
    * 4. activation.jar (required for SOAP mode) 
    * 5. axis.jar (required for SOAP mode) 
    * 6. axis.jar (required for SOAP mode) 
    * 7. commons-codec-1.3.jar (required for SOAP mode) 
    * 8. commons-collections-3.2.jar  (required for SOAP mode) 
    * 9. commons-discovery.jar (required for SOAP mode) 
    * 10. commons-logging.jar (required for SOAP mode) 
    * 11. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
    * 12. jaxen-1.1-beta-9.jar (required for SOAP mode) 
    * 13. jaxrpc.jar (required for SOAP mode) 
    * 14. log4j.jar (required for SOAP mode) 
    * 15. mail.jar (required for SOAP mode) 
    * 16. saaj.jar (required for SOAP mode) 
    * 17. wsdl4j.jar (required for SOAP mode) 
    * 18. xalan.jar (required for SOAP mode) 
    * 19. xbean.jar (required for SOAP mode) 
    * 20. xercesImpl.jar (required for SOAP mode) 
    *  
    *  These JAR files are located in the following path: 
    * <install directory>/Adobe/adobe_experience_manager_forms/SDK/client-libs/common 
    *  
    * <install directory>/Adobe/adobe_experience_manager_forms/SDK/client-libs/jboss 
    *  
    * <install directory>/Adobe/adobe_experience_manager_forms/jboss/bin/client 
    *  
    * If you want to invoke a remote AEM Forms instance and there is a 
    * firewall between the client application and AEM Forms, then it is  
    * recommended that you use the SOAP mode. When using the SOAP mode,  
    * you have to include additional JAR files located in the following  
    * path 
    * <install directory>/Adobe/adobe_experience_manager_forms/SDK/client-libs/thirdparty 
    *  
    * For information about the SOAP  
    * mode and the additional JAR files that need to be included,  
    * see "Setting connection properties" in Programming  
    * with AEM Forms 
    *  
    * For complete details about the location of the AEM Forms JAR files,  
    * see "Including AEM Forms library files" in Programming  
    * with AEM Forms 
    */ 
import com.adobe.livecycle.output.client.*; 
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; 
 
 
public class CreatePDFDocumentFromLCApp { 
 
    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, "jnp://[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 object 
        ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                 
        //Create an OutputClient object 
        OutputClient outClient = new OutputClient(myFactory);  
                         
        //Reference form data                         
        FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.xml");     
        Document inXMData = new Document (fileInputStream); 
                 
        //Set PDF run-time options     
        PDFOutputOptionsSpec outputOptions = new PDFOutputOptionsSpec(); 
        outputOptions.setFileURI("C:\\Adobe\Loan.pdf"); 
             
        //Set rendering run-time options 
        RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
        pdfOptions.setLinearizedPDF(true); 
        pdfOptions.setAcrobatVersion(AcrobatVersion.Acrobat_9); 
                         
        //Create a PDF document -- reference an XDP file named Loan.xdp that is deployed as part of  
        //a AEM Forms application named Applications/FormsApplication. The XDP file is located  
        //in a folder named FormsFolder 
        OutputResult outputDocument = outClient.generatePDFOutput( 
            TransformationFormat.PDF, 
            "Loan.xdp", 
            "repository:///Applications/FormsApplication/1.0/FormsFolder/", 
            outputOptions, 
            pdfOptions, 
            inXMData 
        ); 
                 
        //Retrieve the results of the operation 
        Document metaData = outputDocument.getStatusDoc(); 
        File myFile = new File("C:\\Adobe\Output.xml"); 
        metaData.copyToFile(myFile); 
        } 
        catch (Exception ee) 
        { 
            ee.printStackTrace(); 
        } 
    } 
} 
 

// Ethnio survey code removed