Trasmissione di documenti al servizio Forms passing-documents-to-the-formsservice
Il servizio AEM Forms esegue il rendering dei PDF forms interattivi sui dispositivi client, in genere nei browser web, per raccogliere informazioni dagli utenti. Un modulo PDF interattivo si basa su una struttura del modulo generalmente salvata come file XDP e creata in Designer. A partire da AEM Forms, puoi trasmettere un com.adobe.idp.Document oggetto contenente la struttura del modulo al servizio Forms. Il servizio Forms esegue quindi il rendering della struttura del modulo che si trova nel com.adobe.idp.Document oggetto.
Il vantaggio di passare un com.adobe.idp.Document oggetto del servizio Forms: altre operazioni del servizio restituiscono un com.adobe.idp.Document istanza. Cioè, puoi ottenere un com.adobe.idp.Document istanza da un'altra operazione di servizio ed esegui il rendering. Ad esempio, si supponga che un file XDP sia memorizzato in un nodo Content Services (obsoleto) denominato /Company Home/Form Designs, come illustrato nella figura seguente.
È possibile recuperare in modo programmatico il file Loan.xdp da Content Services (obsoleto) (obsoleto) e passare il file XDP al servizio Forms all'interno di un com.adobe.idp.Document oggetto.
Riepilogo dei passaggi summary-of-steps
Per passare un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, esegui le seguenti attività:
- Includi file di progetto.
- Creare un oggetto Forms e un oggetto API client di gestione documenti.
- Recupera la struttura del modulo da Content Services (obsoleto).
- Eseguire il rendering del modulo PDF interattivo.
- Eseguire un’azione con il flusso di dati del modulo.
Includi file di progetto
Includi i file necessari nel progetto di sviluppo. Se stai creando un'applicazione client utilizzando Java, includi i file JAR necessari. Se utilizzi i servizi web, includi i file proxy.
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
Prima di eseguire un’operazione API del servizio Forms a livello di programmazione, crea un oggetto API client Forms. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), crea un oggetto API di gestione dei documenti.
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera il file XDP da Content Services (obsoleto) utilizzando l’API Java o del servizio Web. Il file XDP viene restituito all'interno di un com.adobe.idp.Document istanza (o BLOB (se utilizzi servizi web). È quindi possibile passare il com.adobe.idp.Document al servizio Forms.
Rendering di un modulo PDF interattivo
Per eseguire il rendering di un modulo interattivo, passare il com.adobe.idp.Document istanza restituita da Content Services (obsoleto) al servizio Forms.
com.adobe.idp.Document che contiene la struttura del modulo al servizio Forms. Due nuovi metodi denominati renderPDFForm2 e renderHTMLForm2 accettare com.adobe.idp.Document oggetto contenente una struttura del modulo.Eseguire un’azione con il flusso di dati del modulo
A seconda del tipo di applicazione client, è possibile scrivere il modulo in un browser Web client o salvarlo come file PDF. In genere, un’applicazione basata sul Web scrive il modulo nel browser web. Tuttavia, in genere, un’applicazione desktop salva il modulo come file PDF.
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di Forms Service
Trasmettere documenti al servizio Forms utilizzando l’API Java pass-documents-to-the-forms-service-using-the-java-api
Passa un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e l’API Content Services (obsoleto):
-
Includi file di progetto
Includi file JAR client, come adobe-forms-client.jar e adobe-contentservices-client.jar, nel percorso di classe del progetto Java.
-
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
- Crea un
ServiceClientFactoryoggetto contenente le proprietà di connessione. (Vedi Impostazione delle proprietà di connessione.) - Crea un
FormsServiceClientutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto. - Crea un
DocumentManagementServiceClientImplutilizzando il relativo costruttore e passandoServiceClientFactoryoggetto.
- Crea un
-
Recupera la struttura del modulo da Content Services (obsoleto)
Richiama il
DocumentManagementServiceClientImpldell’oggettoretrieveContente passare i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
SpacesStore. Questo valore è un parametro obbligatorio. - Valore stringa che specifica il percorso completo del contenuto da recuperare (ad esempio,
/Company Home/Form Designs/Loan.xdp). Questo valore è un parametro obbligatorio. - Valore stringa che specifica la versione. Questo valore è un parametro facoltativo ed è possibile trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
La
retrieveContentrestituisce unCRCResultoggetto che contiene il file XDP. Ottenere uncom.adobe.idp.Documentrichiamando laCRCResultdell’oggettogetDocumentmetodo . - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il
FormsServiceClientdell’oggettorenderPDFForm2e passare i seguenti valori:- A
com.adobe.idp.Documentoggetto contenente la struttura del modulo recuperata da Content Services (obsoleto). - A
com.adobe.idp.Documentoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Documentoggetto. - A
PDFFormRenderSpecoggetto che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera specificare le opzioni di esecuzione. - A
URLSpecoggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull. - A
java.util.HashMapoggetto che memorizza gli allegati di file. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo.
La
renderPDFFormrestituisce unFormsResultoggetto che contiene un flusso di dati del modulo che deve essere scritto nel browser Web client. - A
-
Eseguire un’azione con il flusso di dati del modulo
- Crea un
com.adobe.idp.Documentrichiamando l'oggettoFormsResultoggetto ‘sgetOutputContentmetodo . - Ottieni il tipo di contenuto del
com.adobe.idp.Documentrichiamandone l'oggettogetContentTypemetodo . - Imposta la
javax.servlet.http.HttpServletResponsetipo di contenuto dell’oggetto richiamandone il tiposetContentTypee passare il tipo di contenutocom.adobe.idp.Documentoggetto. - Crea un
javax.servlet.ServletOutputStreamoggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponsedell’oggettogetOutputStreammetodo . - Crea un
java.io.InputStreamrichiamando l'oggettocom.adobe.idp.Documentdell’oggettogetInputStreammetodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStreamdell’oggettoreadmetodo . Passa l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStreamdell’oggettowriteper inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwritemetodo .
- Crea un
Consulta anche
Avvio rapido (modalità SOAP): Trasmissione di documenti al servizio Forms tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Trasmettere i documenti al servizio Forms utilizzando l’API del servizio Web pass-documents-to-the-forms-service-using-the-web-service-api
Passa un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e l’API Content Services (obsoleto) (servizio Web):
-
Includi file di progetto
Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms, crea due riferimenti al servizio. Utilizza la seguente definizione WSDL per il riferimento al servizio associato al servizio Forms:
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1.Utilizzare la seguente definizione WSDL per il riferimento al servizio associato al servizio Document Management:
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1.Perché
BLOBil tipo di dati è comune a entrambi i riferimenti di servizio e definisce completamente ilBLOBtipo di dati quando viene utilizzato. All'avvio rapido del servizio Web corrispondente,BLOBle istanze sono completamente qualificate.note note NOTE Sostituisci localhost* con l’indirizzo IP del server che ospita AEM Forms. * -
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
-
Crea un
FormsServiceClientutilizzando il relativo costruttore predefinito. -
Crea un
FormsServiceClient.Endpoint.AddressutilizzandoSystem.ServiceModel.EndpointAddresscostruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/FormsService?WSDL). Non è necessario utilizzare illc_versionattributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBindingottenendo il valore delFormsServiceClient.Endpoint.Bindingcampo . Imposta il valore restituito suBasicHttpBinding. -
Imposta la
System.ServiceModel.BasicHttpBindingdell’oggettoMessageEncodingcampo aWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
FormsServiceClient.ClientCredentials.UserName.UserName. - Assegna il valore della password corrispondente al campo
FormsServiceClient.ClientCredentials.UserName.Password. - Assegna il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Assegnare il nome utente del modulo di AEM al campo
-
Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
note note NOTE Ripeti questi passaggi per DocumentManagementServiceClient* client di servizio. * -
-
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera il contenuto richiamando il
DocumentManagementServiceClientdell’oggettoretrieveContente passando i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
SpacesStore. Questo valore è un parametro obbligatorio. - Valore stringa che specifica il percorso completo del contenuto da recuperare (ad esempio,
/Company Home/Form Designs/Loan.xdp). Questo valore è un parametro obbligatorio. - Valore stringa che specifica la versione. Questo valore è un parametro facoltativo ed è possibile trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
- Parametro di output della stringa che memorizza il valore del collegamento di ricerca.
- A
BLOBparametro di output che memorizza il contenuto. Puoi utilizzare questo parametro di output per recuperare il contenuto. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeparametro di output che memorizza gli attributi di contenuto. - A
CRCResultparametro di output. Invece di utilizzare questo oggetto, è possibile utilizzare ilBLOBparametro di output per ottenere il contenuto.
- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il
FormsServiceClientdell’oggettorenderPDFForm2e passare i seguenti valori:- A
BLOBoggetto contenente la struttura del modulo recuperata da Content Services (obsoleto). - A
BLOBoggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotoBLOBoggetto. - A
PDFFormRenderSpecoggetto che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera specificare le opzioni di esecuzione. - A
URLSpecoggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull. - A
Mapoggetto che memorizza gli allegati di file. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo. - Un parametro di output lungo utilizzato per memorizzare il conteggio delle pagine.
- Un parametro di output della stringa utilizzato per memorizzare il valore delle impostazioni internazionali.
- A
FormsResultparametro di output utilizzato per memorizzare il modulo interattivo di PDF.
La
renderPDFForm2restituisce unFormsResultoggetto contenente il modulo interattivo di PDF. - A
-
Eseguire un’azione con il flusso di dati del modulo
- Crea un
BLOBoggetto che contiene i dati del modulo ottenendo il valoreFormsResultdell’oggettooutputContentcampo . - Crea un
System.IO.FileStreamrichiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file. - Creare un array di byte che memorizza il contenuto del
BLOBoggetto recuperato dalFormsResultoggetto. Compilare l’array di byte ottenendo il valore delBLOBdell’oggettoMTOMmembro dati. - Crea un
System.IO.BinaryWriterrichiamando il relativo costruttore e passandoSystem.IO.FileStreamoggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriterdell’oggettoWritee passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM