Début rapide de l’API Java Output Service (SOAP)

Le Début rapide des API Java (SOAP) est disponible pour le service Output.

Début rapide (mode SOAP) : Création d’un document PDF à l’aide de l’API Java

Début rapide (mode SOAP) : Création d’un document PDF basé sur un fichier XDP d’application à l’aide de l’API Java

Début rapide (mode SOAP) : Création d’un document PDF/A à l’aide de l’API Java

Début rapide (mode SOAP) : Transmission de documents au service Output à l’aide de l’API Java

Début rapide (mode SOAP) : Transmission d’un document situé dans le référentiel AEM Forms au service Output à l’aide de l’API Java

Début rapide (mode SOAP) : Création d’un document PDF basé sur des fragments à l’aide de l’API Java

Début rapide (mode SOAP) : Impression dans un fichier à l’aide de l’API Java

Début rapide (mode SOAP) : Envoi d’un flux d’impression à une imprimante réseau à l’aide de l’API Java

Début rapide (mode SOAP) : Création de plusieurs fichiers PDF à l’aide de l’API Java

Début rapide (mode SOAP) : Création de règles de recherche à l’aide de l’API Java

Début rapide (mode SOAP) : Transformation d’un document PDF à l’aide de l’API Java

Les opérations AEM Forms peuvent être effectuées à l’aide de l’API AEM Forms fortement typée et le mode de connexion doit être défini sur SOAP.

REMARQUE

Les Débuts rapides situés dans Programmation avec des formulaires AEM sont basés sur le système d’exploitation Forms Server. Cependant, si vous utilisez un autre système d’exploitation, tel qu’UNIX, remplacez les chemins spécifiques à Windows par les chemins pris en charge par le système d’exploitation concerné. De même, si vous utilisez un autre serveur d’applications J2EE, veillez à spécifier des propriétés de connexion valides. Voir Réglage des propriétés de la connexion

Début rapide (mode SOAP) : Création d’un document PDF à l’aide de l’API Java

L’exemple de code Java suivant crée un document PDF nommé Loan.pdf. Ce document PDF est basé sur une conception de formulaire nommée Loan.xdp et un fichier de données XML nommé Loan.xml. Le fichier Loan.pdf est écrit sur le site C:\Adobe folder located on the J2EE application server hosting AEM Forms, et non sur l'ordinateur client. (Voir Création de Documents 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(); 
         } 
     } 
 } 
 

Début rapide (mode SOAP) : Création d’un document PDF basé sur un fichier XDP d’application à l’aide de l’API Java

L’exemple de code Java suivant crée un document PDF nommé Loan.pdf. Ce document PDF est basé sur une conception de formulaire nommée Loan.xdp et un fichier de données XML nommé Loan.xml. Le fichier XDP est déployé dans le cadre d’une application AEM Forms nommée Applications/FormsApplication. Notez que le chemin d’accès URI est repository:///Applications/FormsApplication/1.0/FormsFolder/. Le fichier Loan.pdf est écrit sur le site C:\Adobe folder located on the J2EE application server hosting AEM Forms, et non sur l'ordinateur client. (Voir Création de Documents PDF.)

REMARQUE

Avant d’exécuter ce début rapide, veillez à créer une application AEM Forms nommée Applications/FormsApplication. Créez un dossier dans l’application nommé FormsFolder et importez le fichier XDP dans le dossier. Pour plus d’informations, voir Générer un document 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(); 
         } 
     } 
 } 
  
 

Début rapide (mode SOAP) : Transmission d’un document situé dans le référentiel au service Output à l’aide de l’API Java

Le code Java suivant récupère un fichier XDP du référentiel et le transmet au service Output dans l’instance com.adobe.idp.Document. Le fichier XDP est déployé dans le cadre d’une application AEM Forms nommée Applications/FormsApplication. Notez que le chemin d’accès URI est repository:///Applications/FormsApplication/1.0/FormsFolder/.

REMARQUE

L’API Repository est utilisée pour récupérer le fichier XDP à cet emplacement. (Voir Reading Resources.)

Notez également que la valeur racine de contenu repository:///Applications/FormsApplication/1.0/FormsFolder/ est transmise à la méthode OutputClient de l’objet generatePDFOutput2 (le deuxième paramètre). Cette valeur est transmise au service Output afin d’informer le service Output que les données collatérales des formulaires, telles que les images, sont stockées à cet emplacement.

REMARQUE

Vous pouvez définir la valeur racine de contenu de la même manière lors de l’appel de la méthode generatePrintedOutput2.

Le Loan.pdf est écrit sur le site C:\Adobe folder located on the J2EE application server hosting AEM Forms. (Voir Transmission de Documents situés dans le référentiel au service Output .)

REMARQUE

Avant d’exécuter ce début rapide, veillez à créer une application AEM Forms nommée Applications/FormsApplication. Créez un dossier dans l’application nommé FormsFolder et importez le fichier XDP dans le dossier.

 /* 
     * 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;  
     } 
 } 
  
  
 

Début rapide (mode SOAP) : Création d’un document PDF à l’aide de l’API Java

L’exemple de code Java suivant crée un document PDF nommé Loan.pdf. Ce document PDF est basé sur une conception de formulaire nommée Loan.xdp et un fichier de données XML nommé Loan.xml. Le fichier Loan.pdf est écrit sur le site C:\Adobe folder located on the J2EE application server hosting AEM Forms, et non sur l'ordinateur client. (Voir Création de Documents 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(); 
         } 
     } 
 }

Début rapide (mode SOAP) : Création d’un document PDF/A à l’aide de l’API Java

L’exemple de code Java suivant crée un document PDF/A nommé LoanArchive.pdf. Ce document PDF est basé sur une conception de formulaire nommée Loan.xdp et un fichier de données XML nommé Loan.xml. LoanArchive.pdf est écrit sur le site C:\Adobe folder located on the J2EE application server hosting AEM Forms, et non sur l'ordinateur client. (Voir Création de Documents 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(); 
         } 
     } 
 } 
 

Début rapide (mode SOAP) : Transmission de documents au service Output à l’aide de l’API Java

Le début rapide Java suivant récupère le fichier Loan.xdp de Content Services. Ce fichier XDP se trouve dans le répertoire space /Company Home/Form Designs. Le fichier XDP est renvoyé dans une instance com.adobe.idp.Document. L’instance com.adobe.idp.Document est transmise au service Output. Le formulaire non interactif est enregistré en tant que fichier PDF nommé *Loan.pdf *sur l’ordinateur client. Comme l’option File URI est définie, le fichier PDF *Loan.pdf *est également enregistré sur le serveur d’applications J2EE hébergeant AEM Forms. (Voir Transmission de Documents situés dans 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;  
     } 
 } 
 

Début rapide (mode SOAP) : Création d’un document PDF basé sur des fragments à l’aide de l’API Java

L’exemple de code Java suivant crée un document PDF basé sur une conception de formulaire assemblée par le service Assembler. Le service Assembler regroupe les fragments situés dans plusieurs fichiers XDP dans une seule conception de formulaire. La logique d'application qui appelle le service Assembler se trouve dans une méthode définie par l'utilisateur appelée GetFormDesign. Le formulaire non interactif est enregistré en tant que fichier PDF nommé *Loan.pdf *sur l’ordinateur client. (Voir Création de Documents PDF à l’aide de fragments.)

 /* 
     * 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;  
         } 
     } 
  
 

Début rapide (mode SOAP) : Impression dans un fichier à l’aide de l’API Java

L’exemple de code Java suivant imprime un flux de sortie dans un fichier PostScript nommé MortgageForm.ps. (Voir Impression dans des fichiers.)

 /* 
     * 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(); 
         } 
     } 
 } 
 

Début rapide (mode SOAP) : Envoi d’un flux d’impression à une imprimante réseau à l’aide de l’API Java

L’exemple de code Java suivant envoie un flux d’impression PostScript à une imprimante réseau nommée \Printer1\Printer. Deux copies sont envoyées à l’imprimante. (Voir Envoi de flux d’impression à des imprimantes.)

 /* 
     * 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(); 
             } 
     } 
 } 
 

Début rapide (mode SOAP) : Création de plusieurs fichiers PDF à l’aide de l’API Java

Le code Java suivant crée plusieurs fichiers PDF pour chaque enregistrement de données situé dans un fichier de données XML nommé Loan_data_batch.xml. Les fichiers sont écrits dans le dossier C:\Adobe directory. Les fichiers PDF sont écrits sur C:\Adobe folder located on the J2EE application server hosting AEM Forms, et non sur l’ordinateur client. (Voir Création de plusieurs fichiers de sortie.)

 /* 
     * 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(); 
             } 
     } 
 } 
  
 

Début rapide (mode SOAP) : Création de règles de recherche à l’aide de l’API Java

L’exemple de code Java suivant crée deux modèles de texte que le service Output recherche. Le premier modèle de texte est Prêt hypothécaire. S’il est trouvé, le service Output utilise la conception de formulaire Mortgage.xdp. Le deuxième modèle de texte est Automobile. S’il est trouvé, le service Output utilise la conception de formulaire AutomobileLoan.xdp. Si aucun modèle de texte n’est localisé, le service Output utilise la conception de formulaire par défaut nommée* Loan.xdp. *(Voir Création de règles de recherche.)

 /* 
     * 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(); 
                 } 
         } 
 } 
 

Début rapide (mode SOAP) : Transformation d’un document PDF à l’aide de l’API Java

L’exemple de code Java suivant transforme un document PDF interactif nommé Loan.pdf en document PDF non interactif nommé NonInteractiveLoan.pdf. (Voir Aplatissement des Documents 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(); 
         } 
     } 
 } 
 

Sur cette page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now