Per le applicazioni basate sul Web che consentono agli utenti di compilare moduli interattivi, i dati devono essere inviati nuovamente al server. Utilizzando il servizio Forms, è possibile recuperare i dati del modulo immessi dall’utente in un modulo interattivo. È quindi possibile passare i dati del modulo a un’altra operazione del servizio AEM Forms e creare un documento PDF utilizzando i dati.
Prima di leggere questo contenuto, è consigliabile avere una conoscenza approfondita della gestione dei moduli inviati. Concetti come la relazione tra una struttura del modulo e i dati XML inviati sono descritti in Gestione di Forms inviati.
Considera il seguente flusso di lavoro che coinvolge tre servizi AEM Forms:
Il diagramma seguente fornisce una rappresentazione visiva di questo flusso di lavoro.
Dopo l’invio del modulo dal browser Web del client, il documento PDF non interattivo viene memorizzato in Content Services (obsoleto). Nell'illustrazione seguente viene illustrato un documento PDF memorizzato in Content Services (obsoleto).
Per creare un documento PDF non interattivo con dati XML inviati e archiviarlo nel documento PDF in Content Services (obsoleto), eseguire le operazioni seguenti:
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, assicurati di includere i file proxy.
Creazione di oggetti Forms, Output e Document Management
Prima di eseguire un’operazione API del servizio Forms a livello di programmazione, crea un oggetto API client Forms. Allo stesso modo, poiché questo flusso di lavoro richiama i servizi di Output e Document Management, crea sia un oggetto API client di output che un oggetto API client di Document Management.
Recupera i dati del modulo utilizzando il servizio Forms
Recupera i dati del modulo inviati al servizio Forms. Puoi elaborare i dati inviati per soddisfare le tue esigenze aziendali. Ad esempio, è possibile memorizzare i dati del modulo in un database aziendale. Tuttavia, per creare un documento PDF non interattivo, i dati del modulo vengono passati al servizio Output.
Creare un documento PDF non interattivo utilizzando il servizio Output.
Utilizzare il servizio Output per creare un documento PDF non interattivo basato su una struttura del modulo e sui dati del modulo XML. Nel flusso di lavoro, i dati del modulo vengono recuperati dal servizio Forms.
Archiviare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management
Utilizzare l'API del servizio di gestione dei documenti per memorizzare un documento PDF in Content Services (obsoleto).
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di Forms Service
Creare un documento PDF con i dati XML inviati utilizzando Forms, Output e Document Management API (Java):
Includi file di progetto
Includi file JAR client, come adobe-forms-client.jar, adobe-output-client.jar e adobe-contentservices-client.jar nel percorso classe del progetto Java.
Creazione di oggetti Forms, Output e Document Management
ServiceClientFactory
contenente le proprietà di connessione.FormsServiceClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.OutputClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera i dati del modulo utilizzando il servizio Forms
Richiama il metodo processFormSubmission
dell'oggetto FormsServiceClient
e passa i seguenti valori:
com.adobe.idp.Document
che contiene i dati del modulo.CONTENT_TYPE
. Ad esempio, per gestire i dati XML, specificare il seguente valore di stringa per questo parametro: CONTENT_TYPE=text/xml
.HTTP_USER_AGENT
, ad esempio Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
.RenderOptionsSpec
che memorizza le opzioni di esecuzione.Il metodo processFormSubmission
restituisce un oggetto FormsResult
contenente i risultati dell'invio del modulo.
Determinare se il servizio Forms ha completato l’elaborazione dei dati del modulo richiamando il metodo getAction
dell’oggetto FormsResult
. Se questo metodo restituisce il valore 0
, i dati sono pronti per essere elaborati.
Recupera i dati del modulo creando un oggetto com.adobe.idp.Document
richiamando il metodo FormsResult
dell’oggetto getOutputContent
. Questo oggetto contiene i dati del modulo che possono essere inviati al servizio Output.
Creare un oggetto java.io.InputStream
richiamando il costruttore java.io.DataInputStream
e passando l'oggetto com.adobe.idp.Document
.
Creare un oggetto org.w3c.dom.DocumentBuilderFactory
chiamando il metodo org.w3c.dom.DocumentBuilderFactory
statico dell'oggetto newInstance
.
Creare un oggetto org.w3c.dom.DocumentBuilder
richiamando il metodo org.w3c.dom.DocumentBuilderFactory
dell'oggetto newDocumentBuilder
.
Creare un oggetto org.w3c.dom.Document
richiamando il metodo org.w3c.dom.DocumentBuilder
dell'oggetto parse
e passando l'oggetto java.io.InputStream
.
Recupera il valore di ogni nodo all'interno del documento XML. Un modo per eseguire questa attività consiste nel creare un metodo personalizzato che accetta due parametri: l'oggetto org.w3c.dom.Document
e il nome del nodo di cui si desidera recuperare il valore. Questo metodo restituisce un valore stringa che rappresenta il valore del nodo. Nell'esempio di codice che segue questo processo, questo metodo personalizzato è denominato getNodeText
. Viene mostrato il corpo di questo metodo.
Creare un documento PDF non interattivo utilizzando il servizio Output.
Creare un documento PDF richiamando il metodo generatePDFOutput
dell'oggetto OutputClient
e passando i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
contenente opzioni di esecuzione PDF.RenderOptionsSpec
che contiene opzioni di rendering in fase di esecuzione.com.adobe.idp.Document
che contiene l'origine dati XML contenente i dati da unire alla struttura del modulo. Assicurarsi che l'oggetto sia stato restituito dal metodo getOutputContent
dell'oggetto FormsResult
.generatePDFOutput
restituisce un oggetto OutputResult
contenente i risultati dell'operazione.getGeneratedDoc
dell'oggetto OutputResult
. Questo metodo restituisce un'istanza com.adobe.idp.Document
che rappresenta il documento PDF non interattivo.Archiviare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management
Aggiungi il contenuto richiamando il metodo storeContent
dell’oggetto DocumentManagementServiceClientImpl
e passando i seguenti valori:
SpacesStore
. Questo valore è un parametro obbligatorio./Company Home/Test Directory
). Questo valore è un parametro obbligatorio.MortgageForm.pdf
). Questo valore è un parametro obbligatorio.{https://www.alfresco.org/model/content/1.0}content
. Questo valore è un parametro obbligatorio.com.adobe.idp.Document
che rappresenta il contenuto. Questo valore è un parametro obbligatorio.UTF-8
). Questo valore è un parametro obbligatorio.UpdateVersionType
che specifica come gestire le informazioni sulla versione (ad esempio, UpdateVersionType.INCREMENT_MAJOR_VERSION
per incrementare la versione del contenuto. ) Questo valore è un parametro obbligatorio.java.util.List
che specifica gli aspetti correlati al contenuto. Questo valore è un parametro facoltativo ed è possibile specificare null
.java.util.Map
che memorizza gli attributi del contenuto.Il metodo storeContent
restituisce un oggetto CRCResult
che descrive il contenuto. Utilizzando un oggetto CRCResult
, è possibile, ad esempio, ottenere il valore di identificatore univoco del contenuto. Per eseguire questa operazione, richiamare il metodo getNodeUuid
dell'oggetto CRCResult
.
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione