Trasmissione di documenti al servizio Forms passing-documents-to-the-formsservice
Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.
Il servizio AEM Forms esegue il rendering dei PDF forms interattivi sui dispositivi client, in genere i browser web, per raccogliere informazioni dagli utenti. Un modulo di PDF interattivo si basa su una struttura di modulo che in genere viene salvata come file XDP e creata in Designer. In AEM Forms, è possibile passare un oggetto com.adobe.idp.Document che contiene la struttura del modulo al servizio Forms. Il servizio Forms esegue quindi il rendering della struttura del modulo nell'oggetto com.adobe.idp.Document.
Un vantaggio del passaggio di un oggetto com.adobe.idp.Document al servizio Forms è che altre operazioni del servizio restituiscono un'istanza com.adobe.idp.Document. In altre parole, è possibile ottenere un'istanza com.adobe.idp.Document da un'altra operazione di servizio ed eseguirne il rendering. Si supponga, ad esempio, 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 Loan.xdp da Content Services (obsoleto) (obsoleto) e passare il file XDP al servizio Forms in un oggetto com.adobe.idp.Document.
Riepilogo dei passaggi summary-of-steps
Per passare un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, eseguire le operazioni seguenti:
- Includi file di progetto.
- Creare un oggetto Forms e un oggetto API Client di Document Management.
- Recupera la progettazione del modulo da Content Services (obsoleto).
- Esegui il rendering del modulo di 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 si utilizzano servizi Web, includere i file proxy.
Creare un oggetto API client di gestione documenti e Forms
Prima di poter eseguire un'operazione API del servizio Forms a livello di programmazione, creare un oggetto API del 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 progettazione 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'istanza com.adobe.idp.Document (o di un'istanza BLOB se si utilizzano i servizi Web). È quindi possibile passare l'istanza com.adobe.idp.Document al servizio Forms.
Eseguire il rendering di un modulo PDF interattivo
Per eseguire il rendering di un modulo interattivo, passare l'istanza com.adobe.idp.Document restituita da Content Services (obsoleta) al servizio Forms.
com.adobe.idp.Document che contiene la struttura del modulo al servizio Forms. Due nuovi metodi denominati renderPDFForm2 e renderHTMLForm2 accettano un oggetto com.adobe.idp.Document che contiene una struttura di modulo.Esegui 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, un'applicazione desktop in genere salva il modulo come file PDF.
Consulta anche
Inclusione dei file della libreria Java di AEM Forms
Trasmettere i documenti al servizio Forms tramite 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) (Java):
-
Includi file di progetto
Includi i 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 Document Management
- Creare un oggetto
ServiceClientFactorycontenente le proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.) - Creare un oggetto
FormsServiceClientutilizzando il relativo costruttore e passando l'oggettoServiceClientFactory. - Creare un oggetto
DocumentManagementServiceClientImplutilizzando il relativo costruttore e passando l'oggettoServiceClientFactory.
- Creare un oggetto
-
Recuperare la progettazione del modulo da Content Services (obsoleto)
Richiama il metodo
retrieveContentdell'oggettoDocumentManagementServiceClientImple passa i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L'archivio 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 e puoi trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
Il metodo
retrieveContentrestituisce un oggettoCRCResultche contiene il file XDP. Ottenere un'istanzacom.adobe.idp.Documentrichiamando il metodogetDocumentdell'oggettoCRCResult. - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L'archivio predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il metodo
renderPDFForm2dell'oggettoFormsServiceCliente passa i seguenti valori:- Oggetto
com.adobe.idp.Documentcontenente la struttura del modulo recuperato da Content Services (obsoleto). - Oggetto
com.adobe.idp.Documentcontenente dati da unire al modulo. Se non si desidera unire i dati, passare un oggettocom.adobe.idp.Documentvuoto. - Un oggetto
PDFFormRenderSpecche memorizza le opzioni di runtime. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera specificare le opzioni di runtime. - Oggetto
URLSpeccontenente valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull. - Oggetto
java.util.HashMapche memorizza gli allegati. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera allegare file al modulo.
Il metodo
renderPDFFormrestituisce un oggettoFormsResultche contiene un flusso di dati del modulo che deve essere scritto nel browser Web client. - Oggetto
-
Eseguire un'azione con il flusso di dati del modulo
- Creare un oggetto
com.adobe.idp.Documentrichiamando il metodogetOutputContentdell'oggettoFormsResult. - Ottenere il tipo di contenuto dell'oggetto
com.adobe.idp.Documentrichiamando il relativo metodogetContentType. - Impostare il tipo di contenuto dell'oggetto
javax.servlet.http.HttpServletResponserichiamando il relativo metodosetContentTypee passando il tipo di contenuto dell'oggettocom.adobe.idp.Document. - Creare un oggetto
javax.servlet.ServletOutputStreamutilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando il metodogetOutputStreamdell'oggettojavax.servlet.http.HttpServletResponse. - Creare un oggetto
java.io.InputStreamrichiamando il metodogetInputStreamdell'oggettocom.adobe.idp.Document. - Creare una matrice di byte e popolarla con il flusso di dati del modulo richiamando il metodo
readdell'oggettoInputStream. Passa la matrice di byte come argomento. - Richiama il metodo
writedell'oggettojavax.servlet.ServletOutputStreamper inviare il flusso di dati del modulo al browser Web client. Passare la matrice di byte al metodowrite.
- Creare un oggetto
Consulta anche
Quick Start (modalità SOAP): trasmissione di documenti al servizio Forms tramite l’API Java
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 Content Services (obsoleto) API (servizio web):
-
Includi file di progetto
Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms, creare due riferimenti al servizio. Utilizzare 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.Poiché il tipo di dati
BLOBè comune a entrambi i riferimenti al servizio, il tipo di datiBLOBviene completamente qualificato quando viene utilizzato. Nel servizio Web corrispondente, avvio rapido, tutte leBLOBistanze sono completamente qualificate.note note NOTE Sostituisci localhostcon l'indirizzo IP del server che ospita AEM Forms. -
Creare un oggetto Forms e un oggetto API client di Document Management
-
Creare un oggetto
FormsServiceClientutilizzando il relativo costruttore predefinito. -
Creare un oggetto
FormsServiceClient.Endpoint.Addressutilizzando il costruttoreSystem.ServiceModel.EndpointAddress. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/FormsService?WSDL). Non è necessario utilizzare l'attributolc_version. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Creare un oggetto
System.ServiceModel.BasicHttpBindingottenendo il valore del campoFormsServiceClient.Endpoint.Binding. Eseguire il cast del valore restituito inBasicHttpBinding. -
Impostare il campo
MessageEncodingdell'oggettoSystem.ServiceModel.BasicHttpBindingsuWSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente dei moduli AEM al campo
FormsServiceClient.ClientCredentials.UserName.UserName. - Assegnare il valore della password corrispondente al campo
FormsServiceClient.ClientCredentials.UserName.Password. - Assegnare il valore costante
HttpClientCredentialType.Basical campoBasicHttpBindingSecurity.Transport.ClientCredentialType.
- Assegnare il nome utente dei moduli AEM al campo
-
Assegnare il valore costante
BasicHttpSecurityMode.TransportCredentialOnlyal campoBasicHttpBindingSecurity.Security.Mode.
note note NOTE Ripetere questi passaggi per il client del servizio DocumentManagementServiceClient. -
-
Recuperare la progettazione del modulo da Content Services (obsoleto)
Recuperare il contenuto richiamando il metodo
retrieveContentdell'oggettoDocumentManagementServiceCliente passando i valori seguenti:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L'archivio 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 e puoi trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
- Parametro di output stringa che memorizza il valore del collegamento Sfoglia.
- Un parametro di output
BLOBche memorizza il contenuto. Puoi utilizzare questo parametro di output per recuperare il contenuto. - Un parametro di output
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyTypeche memorizza gli attributi del contenuto. - Un parametro di output
CRCResult. Anziché utilizzare questo oggetto, è possibile utilizzare il parametro di outputBLOBper ottenere il contenuto.
- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L'archivio predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il metodo
renderPDFForm2dell'oggettoFormsServiceCliente passa i seguenti valori:- Oggetto
BLOBcontenente la struttura del modulo recuperato da Content Services (obsoleto). - Oggetto
BLOBcontenente dati da unire al modulo. Se non si desidera unire i dati, passare un oggettoBLOBvuoto. - Un oggetto
PDFFormRenderSpecche memorizza le opzioni di runtime. Questo valore è un parametro facoltativo ed è possibile specificarenullse non si desidera specificare le opzioni di runtime. - Oggetto
URLSpeccontenente valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull. - Oggetto
Mapche memorizza gli allegati. 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.
- Parametro di output stringa utilizzato per memorizzare il valore delle impostazioni locali.
- Un parametro di output
FormsResultutilizzato per memorizzare il modulo di interactrive PDF.
Il metodo
renderPDFForm2restituisce un oggettoFormsResultche contiene il modulo PDF interattivo. - Oggetto
-
Eseguire un'azione con il flusso di dati del modulo
- Creare un oggetto
BLOBcontenente dati del modulo ottenendo il valore del campooutputContentdell'oggettoFormsResult. - Creare un oggetto
System.IO.FileStreamrichiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file del documento interattivo di PDF e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
BLOBrecuperato dall'oggettoFormsResult. Popolare la matrice di byte ottenendo il valore del membro datiMTOMdell'oggettoBLOB. - Creare un oggetto
System.IO.BinaryWriterrichiamandone il costruttore e passando l'oggettoSystem.IO.FileStream. - Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo
Writedell'oggettoSystem.IO.BinaryWritere passando la matrice di byte.
- Creare un oggetto
Consulta anche
Richiamare AEM Forms tramite MTOM