Le applicazioni basate sul Web che consentono agli utenti di compilare moduli interattivi richiedono l'invio dei dati al server. Il servizio Forms consente di recuperare i dati del modulo immessi dall'utente in un modulo interattivo. È quindi possibile trasmettere i dati del modulo a un'altra operazione servizio AEM Forms e creare un documento PDF utilizzando i dati.
Prima di leggere questo contenuto, si consiglia di avere una buona conoscenza della gestione dei moduli inviati. Concetti come la relazione tra una struttura del modulo e i dati XML inviati sono trattati in Gestione dell'Forms inviato.
Considerate il seguente flusso di lavoro che comprende tre servizi AEM Forms :
Il diagramma seguente fornisce una rappresentazione visiva del flusso di lavoro.
Dopo che l'utente ha inviato il modulo dal browser Web del client, il documento PDF non interattivo viene memorizzato in Content Services (obsoleto). L'illustrazione seguente mostra 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
Includete i file necessari nel progetto di sviluppo. Se create un'applicazione client utilizzando Java, includete i file JAR necessari. Se utilizzate i servizi Web, accertatevi di includere i file proxy.
Creare oggetti Forms, Output e Gestione documenti
Prima di eseguire un'operazione API di servizio Forms a livello di programmazione, creare un oggetto API client Forms. Analogamente, poiché questo flusso di lavoro richiama i servizi Output e Document Management, create sia un oggetto API Client di Output che un oggetto API client di Document Management.
Recupero dei dati del modulo con il servizio Forms
Recuperare i dati del modulo inviati al servizio Forms. Puoi elaborare i dati inviati per soddisfare i tuoi requisiti 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
Utilizzate l'API del servizio Document Management per archiviare un documento PDF in Content Services (obsoleto).
Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido di Forms Service API
Creare un documento PDF con dati XML inviati utilizzando l'API Forms, Output e Document Management API (Java):
Includi file di progetto
Includete file JAR client, ad esempio adobe-forms-client.jar, adobe-output-client.jar e adobe-contentservices-client.jar nel percorso di classe del progetto Java.
Creare oggetti Forms, Output e Gestione documenti
ServiceClientFactory
che contiene 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
.Recupero dei dati del modulo con il servizio Forms
Richiamare il metodo FormsServiceClient
dell'oggetto processFormSubmission
e trasmettere 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 FormsResult
dell'oggetto getAction
. Se questo metodo restituisce il valore 0
, i dati sono pronti per essere elaborati.
Recuperare 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 è possibile inviare 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
.
Recuperare il valore di ciascun nodo all'interno del documento XML. Un modo per eseguire questa attività è 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 una stringa che rappresenta il valore del nodo. Nell'esempio di codice che segue questo processo, questo metodo personalizzato è denominato getNodeText
. Viene visualizzato il corpo di questo metodo.
Creare un documento PDF non interattivo utilizzando il servizio Output.
Per creare un documento PDF, richiamare il metodo generatePDFOutput
dell'oggetto OutputClient
e passare i seguenti valori:
TransformationFormat
. Per generare un documento PDF, specificare TransformationFormat.PDF
.PDFOutputOptionsSpec
che contiene le opzioni di esecuzione PDF.RenderOptionsSpec
che contiene le 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 FormsResult
dell'oggetto getOutputContent
.generatePDFOutput
restituisce un oggetto OutputResult
che contiene i risultati dell'operazione.OutputResult
dell'oggetto getGeneratedDoc
. 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
Aggiungete il contenuto richiamando il metodo DocumentManagementServiceClientImpl
dell'oggetto storeContent
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
, potete, ad esempio, ottenere il valore di identificatore univoco del contenuto. Per eseguire questa operazione, richiamare il metodo CRCResult
dell'oggetto getNodeUuid
.
Consulta anche
Inclusione file libreria Java AEM Forms
Impostazione delle proprietà di connessione