輸出服務Java API快速入門(SOAP)

Java API Quick Start(SOAP)適用於Output服務。

快速入門(SOAP模式):使用Java API建立PDF檔案

快速入門(SOAP模式):使用Java API根據應用程式XDP檔案建立PDF檔案

快速入門(SOAP模式):使用Java API建立PDF/A檔案

快速入門(SOAP模式):使用Java API將檔案傳送至輸出服務

快速入門(SOAP模式):使用Java API將位於AEM Forms儲存庫中的文檔傳遞到輸出服務

快速入門(SOAP模式):使用Java API根據片段建立PDF檔案

快速入門(SOAP模式):使用Java API列印至檔案

快速入門(SOAP模式):使用Java API將打印流發送到網路打印機

快速入門(SOAP模式):使用Java API建立多個PDF檔案

快速入門(SOAP模式):使用Java API建立搜尋規則

快速入門(SOAP模式):使用Java API轉換PDF檔案

AEM Forms操作可以使用AEM Forms強類型API執行,連接模式應設定為SOAP。

注意

「使用表單進行寫程式」中的「快AEM速入門」基於Forms伺服器作業系統。 但是,如果您使用其他作業系統(例如UNIX),請以適用作業系統支援的路徑取代Windows特定路徑。 同樣地,如果您使用其他J2EE應用程式伺服器,請確定您指定有效的連線屬性。 請參閱設定連接屬性

快速入門(SOAP模式):使用Java API建立PDF檔案

以下Java代碼示例建立一個名為​Loan.pdf​的PDF文檔。 此PDF檔案以名為​Loan.xdp​的表單設計和名為​Loan.xml​的XML資料檔案為基礎。 Loan.pdf​寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms,而非用戶端電腦。 (請參閱建立PDF檔案。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java 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 CreatePDFDocument { 
  
     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 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             
         OutputResult outputDocument = outClient.generatePDFOutput( 
             TransformationFormat.PDF, 
             "Loan.xdp", 
             "C:\\Adobe", 
             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(); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API根據應用程式XDP檔案建立PDF檔案

以下Java代碼示例建立一個名為​Loan.pdf​的PDF文檔。 此PDF檔案以名為​Loan.xdp​的表單設計和名為​Loan.xml​的XML資料檔案為基礎。 XDP檔案部署為名為Applications/FormsApplication的AEM Forms應用程式的一部分。 請注意,URI路徑為repository:///Applications/FormsApplication/1.0/FormsFolder/Loan.pdf​寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms,而非用戶端電腦。 (請參閱建立PDF檔案。)

注意

在執行此快速入門之前,請確定您已建立名為Applications/FormsApplication的AEM Forms應用程式。 在名為FormsFolder的應用程式中建立資料夾,並將XDP檔案置於資料夾中。 如需詳細資訊,請參閱產生PDF檔案​

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. 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, "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 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(); 
         } 
     } 
 } 
  
 

快速入門(SOAP模式):使用Java API將儲存庫中的文檔傳遞到輸出服務

以下Java代碼從儲存庫中檢索XDP檔案,並將其傳遞到com.adobe.idp.Document實例中的Output服務。 XDP檔案部署為名為Applications/FormsApplication的AEM Forms應用程式的一部分。 請注意,URI路徑為repository:///Applications/FormsApplication/1.0/FormsFolder/

注意

儲存庫API用於從此位置檢索XDP檔案。 (請參閱閱讀資源。)

另請注意,內容根值repository:///Applications/FormsApplication/1.0/FormsFolder/會傳遞至OutputClient物件的generatePDFOutput2方法(第二個參數)。 此值會傳遞至輸出服務,以通知輸出服務,該輸出服務會將構成資料(例如影像)儲存在此位置。

注意

在調用generatePrintedOutput2方法時,可以用相同的方式設定內容根值。

Loan.pdf​寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms。 (請參閱將儲存庫中的文檔傳遞到輸出服務。)

注意

在執行此快速入門之前,請確定您已建立名為Applications/FormsApplication的AEM Forms應用程式。 在名為FormsFolder的應用程式中建立資料夾,並將XDP檔案置於資料夾中。

 /* 
     * 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-repository-client.jar 
     * 3. adobe-livecycle-client.jar 
     * 4. adobe-usermanager-client.jar 
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java library files" in Programming  
     * with AEM Forms 
     */ 
 import com.adobe.livecycle.output.client.*; 
 import com.adobe.repository.bindings.dsc.client.ResourceRepositoryClient; 
  
 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 CreatePDFFFromRepository { 
  
     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 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"); // this PDF form is saved on the server 
          
         //Get the form design from the AEM Forms Repository 
         Document formDesign =  GetFormDesign(myFactory); 
              
         //Set rendering run-time options 
         RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
         pdfOptions.setLinearizedPDF(true); 
         pdfOptions.setAcrobatVersion(AcrobatVersion.Acrobat_9); 
                          
         //Create a non-interactive PDF document             
         OutputResult outputDocument = outClient.generatePDFOutput2( 
             TransformationFormat.PDF, 
             "repository:///Applications/FormsApplication/1.0/FormsFolder/", 
             formDesign, 
             outputOptions, 
             pdfOptions, 
             inXMData 
         ); 
                  
         //Save the non-interactive PDF form as a PDF file on the client computer 
         Document pdfForm = outputDocument.getGeneratedDoc(); 
         File myFile = new File("C:\\Adobe\Loan.pdf"); 
         pdfForm.copyToFile(myFile); 
         } 
         catch (Exception ee) 
         { 
             ee.printStackTrace(); 
         } 
     } 
      
     // Retrieve the form design from the following Repository path: 
     // /Applications/FormsApplication/1.0/FormsFolder/Loan.xdp 
     private static Document GetFormDesign(ServiceClientFactory myFactory) 
     { 
     try{ 
              
         // Create a ResourceRepositoryClient object using the service client factory 
         ResourceRepositoryClient repositoryClient = new ResourceRepositoryClient(myFactory); 
  
         // Specify the path in the Repository to Loan.xdp 
         String resourceUri =  "/Applications/FormsApplication/1.0/FormsFolder/Loan.xdp"; 
  
         // Retrieve the XDP file  
         Document doc = repositoryClient.readResourceContent(resourceUri); 
      
            //Return the Document instance 
            return  doc; 
          } 
              
         catch(Exception e) 
         { 
             e.printStackTrace(); 
         } 
         return null;  
     } 
 } 
  
  
 

快速入門(SOAP模式):使用Java API建立PDF檔案

以下Java代碼示例建立一個名為​Loan.pdf​的PDF文檔。 此PDF檔案以名為​Loan.xdp​的表單設計和名為​Loan.xml​的XML資料檔案為基礎。 Loan.pdf​寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms,而非用戶端電腦。 (請參閱建立PDF檔案。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <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 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 CreatePDFDocumentSOAP { 
  
     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 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             
         OutputResult outputDocument = outClient.generatePDFOutput( 
             TransformationFormat.PDF, 
             "Loan.xdp", 
             "C:\\Adobe", 
             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(); 
         } 
     } 
 }

快速入門(SOAP模式):使用Java API建立PDF/A檔案

以下Java代碼示例建立一個名為​LoanArchive.pdf​的PDF/A文檔。 此PDF檔案以名為​Loan.xdp​的表單設計和名為​Loan.xml​的XML資料檔案為基礎。 LoanArchive.pdf​寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms,而非用戶端電腦。 (請參閱建立PDF/A檔案)。

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java 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 CreatePDFADocument { 
  
     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 object 
         ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                  
         //Create an OutputClient object 
         OutputClient outClient = new OutputClient(myFactory);  
                          
         //Reference an XML data source to merge with the form design                                 
         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\LoanArchive.pdf"); 
                      
         //Set rendering run-time options     
         RenderOptionsSpec pdfAOptions = new RenderOptionsSpec();  
         pdfAOptions.setPDFAConformance(PDFAConformance.A); 
         pdfAOptions.setPDFARevisionNumber(PDFARevisionNumber.Revision_1); 
          
                  
         //Create a PDF/A document             
         OutputResult outputDocument = outClient.generatePDFOutput( 
             TransformationFormat.PDFA, 
             "Loan.xdp", 
             "C:\\Adobe", 
             outputOptions, 
             pdfAOptions, 
             inXMData 
         ); 
          
         //Write the results of the operation to OutputLog.xml 
         Document resultData = outputDocument.getStatusDoc(); 
         File myFile = new File("C:\\Adobe\OutputLog.xml"); 
         resultData.copyToFile(myFile); 
          
         }catch (Exception ee) 
         { 
             ee.printStackTrace(); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API將檔案傳送至輸出服務

以下Java快速入門功能會從Content Services中擷取檔案​Loan.xdp。 此XDP檔案位於space /Company Home/Form Designs中。 在com.adobe.idp.Document實例中返回XDP檔案。 com.adobe.idp.Document實例將傳遞給Output服務。 非互動式表單會儲存為用戶端電腦上名為*Loan.pdf 的PDF檔案。 由於已設定「檔案URI」選項,因此PDF檔案Loan.pdf *也會儲存在代管AEM Forms的J2EE應用程式伺服器上。 (請參閱將位於Content Services ES2的檔案傳遞至Output Service。)

 /* 
     * 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-contentservices-client.jar 
     * 3. adobe-livecycle-client.jar 
     * 4. adobe-usermanager-client.jar 
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java library files" in Programming  
     * with AEM Forms 
     */ 
 import com.adobe.livecycle.contentservices.client.CRCResult; 
 import com.adobe.livecycle.contentservices.client.impl.DocumentManagementServiceClientImpl; 
 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 CreatePDFFFromContentServices { 
  
     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 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"); // this PDF form is saved on the server 
          
         //Get the form design from Content Services 
         Document formDesign =  GetFormDesign(myFactory); 
              
         //Set rendering run-time options 
         RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
         pdfOptions.setLinearizedPDF(true); 
         pdfOptions.setAcrobatVersion(AcrobatVersion.Acrobat_9); 
                          
         //Create a non-interactive PDF document             
         OutputResult outputDocument = outClient.generatePDFOutput2( 
             TransformationFormat.PDF, 
             "C:\\Adobe", 
             formDesign, 
             outputOptions, 
             pdfOptions, 
             inXMData 
         ); 
                  
         //Save the non-interactive PDF form as a PDF file on the client computer 
         Document pdfForm = outputDocument.getGeneratedDoc(); 
         File myFile = new File("C:\\Adobe\Loan.pdf"); 
         pdfForm.copyToFile(myFile); 
         } 
         catch (Exception ee) 
         { 
             ee.printStackTrace(); 
         } 
     } 
      
     //Retrieve the form design from Content Services ES2 
     private static Document GetFormDesign(ServiceClientFactory myFactory) 
     { 
         try{ 
              
         //Create a DocumentManagementServiceClientImpl object 
         DocumentManagementServiceClientImpl    docManager = new DocumentManagementServiceClientImpl(myFactory);  
              
         //Specify the name of the store and the content to retrieve 
            String storeName = "SpacesStore"; 
            String nodeName  = "/Company Home/Form Designs/Loan.xdp"; 
  
            //Retrieve /Company Home/Form Designs/Loan.xdp 
            CRCResult content = docManager.retrieveContent( 
                      storeName, 
                      nodeName, 
                      ""); 
      
            //Return the Document instance 
             Document doc =content.getDocument();  
             return  doc; 
          } 
              
         catch(Exception e) 
         { 
             e.printStackTrace(); 
         } 
         return null;  
     } 
 } 
 

快速入門(SOAP模式):使用Java API根據片段建立PDF檔案

以下Java代碼示例建立基於由Assembler服務組合的表單設計的PDF文檔。 Assembler服務將位於多個XDP檔案中的片段組合成單一表單設計。 調用Assembler服務的應用程式邏輯位於名為GetFormDesign的用戶定義方法中。 非互動式表單會儲存為用戶端電腦上名為*Loan.pdf *的PDF檔案。 (請參閱使用片段建立PDF檔案)。

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     * 20. adobe-assembler-client.jar  
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java library files" in Programming  
     * with AEM Forms 
     * 
     * This is the DDX file is used to assemble multiple XDP documents: 
     * <?xml version="1.0" encoding="UTF-8"?> 
     * <DDX xmlns="https://ns.adobe.com/DDX/1.0/"> 
     * <XDP result="tuc018result.xdp"> 
     * <XDP source="tuc018_template_flowed.xdp"> 
     * <XDPContent insertionPoint="ddx_fragment" source="tuc018_contact.xdp" fragment="subPatientContact" required="false"/> 
     * <XDPContent insertionPoint="ddx_fragment" source="tuc018_patient.xdp" fragment="subPatientPhysical" required="false"/> 
     * <XDPContent insertionPoint="ddx_fragment" source="tuc018_patient.xdp" fragment="subPatientHealth" required="false"/> 
     * </XDP> 
     * </XDP>         
     * </DDX> 
     */ 
 import com.adobe.livecycle.assembler.client.AssemblerOptionSpec; 
 import com.adobe.livecycle.assembler.client.AssemblerResult; 
 import com.adobe.livecycle.assembler.client.AssemblerServiceClient; 
 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 CreatePDFFromFragments { 
  
     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 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"); // this PDF form is saved on the server 
              
             //Get the form design from Assembler service 
             Document formDesign =  GetFormDesign(myFactory); 
                  
             //Set rendering run-time options 
             RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
             pdfOptions.setLinearizedPDF(true); 
             pdfOptions.setAcrobatVersion(AcrobatVersion.Acrobat_9); 
                              
             //Create a non-interactive PDF document             
             OutputResult outputDocument = outClient.generatePDFOutput2( 
                 TransformationFormat.PDF, 
                 "C:\\Adobe", 
                 formDesign, 
                 outputOptions, 
                 pdfOptions, 
                 inXMData 
             ); 
                      
             //Save the non-interactive PDF form as a PDF file on the client computer 
             Document pdfForm = outputDocument.getGeneratedDoc(); 
             File myFile = new File("C:\\Adobe\Loan.pdf"); 
             pdfForm.copyToFile(myFile); 
             } 
             catch (Exception ee) 
             { 
                 ee.printStackTrace(); 
             } 
         } 
          
         //Retrieve the form design from Assembler service 
         private static Document GetFormDesign(ServiceClientFactory myFactory) 
         { 
             try{ 
                                  
                 //Create an AssemblerServiceClient object 
                 AssemblerServiceClient assemblerClient = new AssemblerServiceClient(myFactory); 
  
                 //Create a FileInputStream object based on an existing DDX file  
                 FileInputStream myDDXFile = new FileInputStream("C:\\Adobe\fragmentDDX.xml");  
                  
                 //Create a Document object based on the DDX file 
                 Document myDDX = new Document(myDDXFile);  
  
                 //Create a Map object to store the input XDP files 
                 Map inputs = new HashMap(); 
                 FileInputStream inSource = new FileInputStream("C:\\Adobe\tuc018_template_flowed.xdp"); 
                 FileInputStream inFragment1 = new FileInputStream("C:\\Adobe\tuc018_contact.xdp"); 
                 FileInputStream inFragment2 = new FileInputStream("C:\\Adobe\tuc018_patient.xdp"); 
              
                 //Create a Document object  
                 Document myMapSource = new Document(inSource);  
  
                 //Create a Document object 
                 Document inFragment1Doc = new Document(inFragment1);  
                  
                 //Create a Document object  
                 Document inFragment2Doc = new Document(inFragment2);  
  
                 //Place all of the XDP files into the MAP 
                 inputs.put("tuc018_template_flowed.xdp",myMapSource);  
                 inputs.put("tuc018_contact.xdp",inFragment1Doc);  
                 inputs.put("tuc018_patient.xdp",inFragment2Doc);  
                  
  
                 //Create an AssemblerOptionsSpec object 
                 AssemblerOptionSpec assemblerSpec = new AssemblerOptionSpec(); 
                 assemblerSpec.setFailOnError(false);  
  
                 //Submit the job to Assembler service 
                 AssemblerResult jobResult = assemblerClient.invokeDDX(myDDX,inputs,assemblerSpec);    
                 java.util.Map allDocs = jobResult.getDocuments(); 
  
                 //Retrieve the result PDF document from the Map object 
                 Document outDoc = null; 
  
                 //Iterate through the map object to retrieve the result XDP document 
                 for (Iterator i = allDocs.entrySet().iterator(); i.hasNext();) { 
                     // Retrieve the Map object?s value 
                     Map.Entry e = (Map.Entry)i.next(); 
                      
                     //Get the key name as specified in the  
                     //DDX document  
                     String keyName = (String)e.getKey(); 
                     if (keyName.equalsIgnoreCase("tuc018result.xdp")) 
                     {  
                         Object o = e.getValue(); 
                         outDoc = (Document)o; 
      
                     } 
                 } 
                  
             return outDoc;      
             }catch (Exception e) { 
                 e.printStackTrace(); 
             } 
             return null;  
         } 
     } 
  
 

快速入門(SOAP模式):使用Java API列印至檔案

下列Java程式碼範例會將輸出串流列印為名為​MortgageForm.ps​的PostScript檔案。 (請參閱列印至檔案)。

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     * 
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java 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 PrintToFile { 
  
     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 object 
             ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                  
             //Create an OutputClient object 
             OutputClient outClient = new OutputClient(myFactory);  
          
             //Reference XML data that represents form data 
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.xml");  
             Document inputXML = new Document(fileInputStream); 
                                  
             //Set print run-time options required to print to a file 
             PrintedOutputOptionsSpec printOptions = new PrintedOutputOptionsSpec();  
             printOptions.setFileURI("C:\\Adobe\MortgageForm.ps"); 
              
             //Print the print stream to a PostScript file 
             OutputResult outputDocument = outClient.generatePrintedOutput( 
                     PrintFormat.PostScript, 
                     "Loan.xdp", 
                     "C:\\Adobe", 
                     null, 
                     printOptions, 
                     inputXML);  
          
             //Write the results of the operation to OutputLog.xml 
             Document resultData = outputDocument.getStatusDoc(); 
             File myFile = new File("C:\\Adobe\OutputLog.xml"); 
             resultData.copyToFile(myFile); 
             System.out.println("AEM Forms printed to MortgageForm.ps"); 
         } 
     catch (Exception ee) 
             { 
             ee.printStackTrace(); 
         } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API將打印流發送到網路打印機

以下Java代碼示例將PostScript打印流發送到名為​\Printer1\Printer​的網路打印機。 兩份復本發送到打印機。 (請參閱將打印流發送到打印機。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     *
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java library files" in Programming  
     * with AEM Forms 
     */ 
 import java.util.*; 
 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.output.client.*; 
  
 public class SendToPrinter { 
  
     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 object 
             ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                  
             //Create an OutputClient object 
             OutputClient outClient = new OutputClient(myFactory);  
          
             //Reference XML data that represents form data 
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.xml");  
             Document inputXML = new Document(fileInputStream); 
                                  
             //Set print run-time options required to print to a file 
             PrintedOutputOptionsSpec printOptions = new PrintedOutputOptionsSpec();  
              
             //Set the number of copies to print 
             printOptions.setCopies(2); 
              
             //Turn on the Staple option 
             printOptions.setStaple(Staple.on); 
                          
             //Create a PostScript output stream based on the form design named Loan.xdp and 
             //the data located in the XML file 
             OutputResult outputDocument = outClient.generatePrintedOutput( 
                     PrintFormat.PostScript, 
                     "Loan.xdp", 
                     "C:\\Adobe", 
                     "C:\\Adobe", 
                     printOptions, 
                     inputXML);  
                      
             //Get a Document object that stores the PostScript print stream 
             Document psPrintStream = outputDocument.getGeneratedDoc(); 
              
             //Specify the print server and the printer name 
             String printServer = "\\\ottprint"; 
             String printerName = "\\\ottprint\Balsom"; 
              
             //Send the PostScript print stream to the printer 
             outClient.sendToPrinter( 
                     psPrintStream, 
                     PrinterProtocol.SharedPrinter, 
                     printServer, 
                     printerName);  
             } 
         catch (Exception ee) 
             { 
             ee.printStackTrace(); 
             } 
     } 
 } 
 

快速入門(SOAP模式):使用Java API建立多個PDF檔案

下列Java程式碼會針對位於名為​Loan_data_batch.xml​之XML資料檔案中的每個資料記錄,建立多個PDF檔案。 檔案將寫入C:\Adobe directory目錄。 PDF檔案會寫入至C:\Adobe folder located on the J2EE application server hosting AEM Forms,而非用戶端電腦。 (請參閱建立多個輸出檔案。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     *
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java library files" 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.output.client.*; 
  
 public class CreateBatchFiles { 
  
     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 object 
             ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                  
             //Create an OutputClient object 
             OutputClient outClient = new OutputClient(myFactory);  
                          
             //Reference form data that contains multiple records                         
             FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan_data_batch.xml");     
             Document inXMData = new Document (fileInputStream); 
                  
             //Set run-time options to generate many PDF files     
             PDFOutputOptionsSpec outputOptions = new PDFOutputOptionsSpec(); 
             outputOptions.setFileURI("C:\\Adobe\Loan.pdf"); 
             outputOptions.setGenerateManyFiles(true); 
             outputOptions.setRecordName("LoanRecord"); 
              
                          
             //Set rendering run-time options 
             RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
             pdfOptions.setCacheEnabled(new Boolean(true)); 
              
          
             //Create multiple PDF files         
             OutputResult outputDocument = outClient.generatePDFOutput( 
                 TransformationFormat.PDF, 
                 "Loan.xdp", 
                 "C:\\Adobe", 
                 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(); 
             } 
     } 
 } 
  
 

快速入門(SOAP模式):使用Java API建立搜尋規則

以下Java代碼示例建立Output服務搜索的兩種文本模式。 第一種文本模式是抵押貸款。 如果找到,輸出服務使用名為​Mortgage.xdp​的表單設計。 第二種文本模式是汽車。 如果找到,則輸出服務使用名為​AutomobileLoan.xdp​的表單設計。 如果未找到任何文本模式,則輸出服務使用名為* Loan.xdp的預設表單設計。 *(請參閱建立搜尋規則)。

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     *
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java 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 CreateSearchRules { 
  
     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 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); 
              
             //Define two text patterns 
             Rule mortageRule = new Rule(); 
             mortageRule.setPattern("Mortgage"); 
             mortageRule.setForm("Mortgage.xdp"); 
              
             Rule automobileRule = new Rule(); 
             automobileRule.setPattern("Automobile"); 
             automobileRule.setForm("AutomobileLoan.xdp"); 
              
             //Add the Rules to a List object 
             List<Rule> myList = new ArrayList<Rule>(); 
             myList.add(mortageRule); 
             myList.add(automobileRule); 
                                      
             //Define PDF run-time options which includes Search Rules     
             PDFOutputOptionsSpec outputOptions = new PDFOutputOptionsSpec(); 
             outputOptions.setFileURI("C:\\Adobe\Loan.pdf"); 
             outputOptions.setRules(myList); 
             outputOptions.setLookAhead(900);  
              
             //Define rendering run-time options 
             RenderOptionsSpec pdfOptions = new RenderOptionsSpec();  
             pdfOptions.setCacheEnabled(new Boolean(true)); 
                  
             //Create a PDF document based on multiple form designs         
             OutputResult outputDocument = outClient.generatePDFOutput( 
                 TransformationFormat.PDF, 
                 "Loan.xdp", 
                 "C:\\Adobe", 
                 outputOptions, 
                 pdfOptions, 
                 inXMData 
             ); 
          
             //Write the results of the operation to OutputLog.xml 
             Document resultData = outputDocument.getStatusDoc(); 
             File myFile = new File("C:\\Adobe\OutputLog.xml"); 
             resultData.copyToFile(myFile); 
             } 
         catch (Exception ee) 
                 { 
                     ee.printStackTrace(); 
                 } 
         } 
 } 
 

快速入門(SOAP模式):使用Java API轉換PDF檔案

以下Java程式碼範例將名為​Loan.pdf​的互動式PDF檔案轉換為名為​NonInteractiveLoan.pdf​的非互動式PDF檔案。 (請參閱平面化PDF檔案。)

 /* 
     * 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. commons-codec-1.3.jar (required for SOAP mode) 
     * 7. commons-collections-3.2.jar  (required for SOAP mode) 
     * 8. commons-discovery.jar (required for SOAP mode) 
     * 9. commons-logging.jar (required for SOAP mode) 
     * 10. dom3-xml-apis-2.5.0.jar (required for SOAP mode) 
     * 11. jaxen-1.1-beta-9.jar (required for SOAP mode) 
     * 12. jaxrpc.jar (required for SOAP mode) 
     * 13. log4j.jar (required for SOAP mode) 
     * 14. mail.jar (required for SOAP mode) 
     * 15. saaj.jar (required for SOAP mode) 
     * 16. wsdl4j.jar (required for SOAP mode) 
     * 17. xalan.jar (required for SOAP mode) 
     * 18. xbean.jar (required for SOAP mode) 
     * 19. xercesImpl.jar (required for SOAP mode) 
     *
     * The JBoss files must be kept in the jboss\client folder. You can copy the client folder to  
     * your local development environment and then include the 3 JBoss JAR files in your class path 
     * 
     * These JAR files are located in the following path: 
     * <install directory>/sdk/client-libs/common 
     * 
     * 
     * <install directory>/jboss/bin/client 
     * 
     * 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 additional JAR files located in the following  
     * path 
     * <install directory>/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 Java 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 TransformPDF { 
  
     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 object 
         ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps); 
                  
         //Create an OutputClient object 
         OutputClient outClient = new OutputClient(myFactory);  
                          
         //Reference an interactive PDF document to transform                                 
         FileInputStream fileInputStream = new FileInputStream("C:\\Adobe\Loan.pdf");     
         Document inPDFDoc = new Document (fileInputStream); 
              
         //Transform the PDF document to a non-interactive PDF document 
         Document transformedDocument = outClient.transformPDF( 
                 inPDFDoc, 
                 TransformationFormat.PDF, 
                 null, 
                 null, 
                 null); 
          
         //Save the non-interactive PDF document 
         File myFile = new File("C:\\Adobe\NonInteractiveLoan.pdf"); 
         transformedDocument.copyToFile(myFile); 
          
     }catch (Exception ee) 
         { 
             ee.printStackTrace(); 
         } 
     } 
 } 
 

本頁內容