Creazione di documenti PDF con i dati XML inviati creating-pdf-documents-with-submittedxml-data
Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.
Creazione di documenti PDF con i dati XML inviati creating-pdf-documents-with-submitted-xml-data
Le applicazioni basate sul Web che consentono agli utenti di compilare moduli interattivi richiedono l'invio dei dati al server. Tramite il servizio Forms è possibile recuperare i dati del modulo immessi dall'utente in un modulo interattivo. Quindi puoi passare i dati del modulo a un’altra operazione del servizio AEM Forms e creare un documento PDF utilizzando i dati.
Prendi in considerazione il seguente flusso di lavoro che coinvolge tre servizi AEM Forms:
- Un utente invia dati XML al servizio Forms da un'applicazione basata sul Web.
- Il servizio Forms viene utilizzato per elaborare il modulo inviato ed estrarre i campi del modulo. I dati del modulo possono essere elaborati. Ad esempio, i dati possono essere inviati a un database aziendale.
- I dati del modulo vengono inviati al servizio di output per creare un documento PDF non interattivo.
- Il documento PDF non interattivo viene archiviato in Content Services (obsoleto).
Il diagramma seguente fornisce una rappresentazione visiva del flusso di lavoro.
Dopo che l’utente ha inviato il modulo dal browser Web client, il documento PDF non interattivo viene memorizzato in Content Services (obsoleto). Nella figura seguente viene illustrato un documento PDF memorizzato in Content Services (obsoleto).
Riepilogo dei passaggi summary-of-steps
Per creare un documento di PDF non interattivo con i dati XML inviati e memorizzarlo nel documento di PDF in Content Services (obsoleto), effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare oggetti Forms, Output e Document Management.
- Recupera i dati del modulo utilizzando il servizio Forms.
- Crea un documento PDF non interattivo utilizzando il servizio di output.
- Memorizzare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management.
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, accertati di includere i file proxy.
Creare oggetti Forms, Output e Document Management
Prima di poter eseguire un'operazione API del servizio Forms a livello di programmazione, creare un oggetto API del client Forms. Analogamente, poiché questo flusso di lavoro richiama i servizi Output e Document Management, creare sia un oggetto API client di output che un oggetto API client di Document Management.
Recupera dati modulo tramite il servizio Forms
Recupera i dati del modulo inviati al servizio Forms. È possibile elaborare i dati inviati per soddisfare i requisiti aziendali. È ad esempio possibile memorizzare i dati dei moduli in un database aziendale. Tuttavia, per creare un documento di PDF non interattivo, i dati del modulo vengono passati al servizio di output.
Crea un documento PDF non interattivo utilizzando il servizio di output.
Utilizzare il servizio di output per creare un documento PDF non interattivo basato sulla struttura di un modulo e sui dati del modulo XML. Nel flusso di lavoro, i dati del modulo vengono recuperati dal servizio Forms.
Archivia il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management
Utilizza l’API del servizio Document Management per memorizzare un documento PDF in Content Services (obsoleto).
Consulta anche
Inclusione dei file della libreria Java di AEM Forms
Creare un documento PDF con i dati XML inviati utilizzando l’API Java create-a-pdf-document-with-submitted-xml-data-using-the-java-api
Crea un documento PDF con i dati XML inviati utilizzando Forms, Output e Document Management API (Java):
-
Includi file di progetto
Includi i file JAR dei client, come adobe-forms-client.jar, adobe-output-client.jar e adobe-contentservices-client.jar nel percorso di classe del progetto Java.
-
Creazione di oggetti Forms, Output e Document Management
- Creare un oggetto
ServiceClientFactorycontenente le proprietà di connessione. - Creare un oggetto
FormsServiceClientutilizzando il relativo costruttore e passando l'oggettoServiceClientFactory. - Creare un oggetto
OutputClientutilizzando il relativo costruttore e passando l'oggettoServiceClientFactory. - Creare un oggetto
DocumentManagementServiceClientImplutilizzando il relativo costruttore e passando l'oggettoServiceClientFactory.
- Creare un oggetto
-
Recuperare i dati del modulo tramite il servizio Forms
-
Richiama il metodo
processFormSubmissiondell'oggettoFormsServiceCliente passa i seguenti valori:- Oggetto
com.adobe.idp.Documentcontenente i dati del modulo. - Valore stringa che specifica le variabili di ambiente, incluse tutte le intestazioni HTTP rilevanti. Specificare il tipo di contenuto da gestire specificando uno o più valori per la variabile di ambiente
CONTENT_TYPE. Ad esempio, per gestire i dati XML, specificare il valore stringa seguente per questo parametro:CONTENT_TYPE=text/xml. - Valore stringa che specifica il valore dell'intestazione
HTTP_USER_AGENT, ad esempioMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322). - Un oggetto
RenderOptionsSpecche memorizza le opzioni di runtime.
Il metodo
processFormSubmissionrestituisce un oggettoFormsResultcontenente i risultati dell'invio del modulo. - Oggetto
-
Determinare se il servizio Forms ha terminato l'elaborazione dei dati del modulo richiamando il metodo
getActiondell'oggettoFormsResult. Se questo metodo restituisce il valore0, i dati sono pronti per essere elaborati. -
Recuperare i dati del modulo creando un oggetto
com.adobe.idp.Documentrichiamando il metodogetOutputContentdell'oggettoFormsResult. Questo oggetto contiene dati del modulo che possono essere inviati al servizio di output. -
Creare un oggetto
java.io.InputStreamrichiamando il costruttorejava.io.DataInputStreame passando l'oggettocom.adobe.idp.Document. -
Creare un oggetto
org.w3c.dom.DocumentBuilderFactorychiamando il metodonewInstancedell'oggettoorg.w3c.dom.DocumentBuilderFactorystatico. -
Creare un oggetto
org.w3c.dom.DocumentBuilderrichiamando il metodonewDocumentBuilderdell'oggettoorg.w3c.dom.DocumentBuilderFactory. -
Creare un oggetto
org.w3c.dom.Documentrichiamando il metodoparsedell'oggettoorg.w3c.dom.DocumentBuildere passando l'oggettojava.io.InputStream. -
Recuperate il valore di ciascun nodo all'interno del documento XML. Un modo per eseguire questa attività consiste nel creare un metodo personalizzato che accetti due parametri: l'oggetto
org.w3c.dom.Documente 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, il metodo personalizzato è denominatogetNodeText. Viene visualizzato il corpo di questo metodo.
-
-
Crea un documento PDF non interattivo utilizzando il servizio di output.
Creare un documento PDF richiamando il metodo
generatePDFOutputdell'oggettoOutputCliente passando i valori seguenti:- Un valore enum
TransformationFormat. Per generare un documento PDF, specificareTransformationFormat.PDF. - Valore stringa che specifica il nome della struttura del modulo. Assicurati che la progettazione del modulo sia compatibile con i dati del modulo recuperati dal servizio Forms.
- Valore stringa che specifica la directory principale del contenuto in cui si trova la struttura del modulo.
- Oggetto
PDFOutputOptionsSpeccontenente le opzioni di runtime di PDF. - Oggetto
RenderOptionsSpeccontenente le opzioni di rendering in fase di esecuzione. - Oggetto
com.adobe.idp.Documentcontenente l'origine dati XML contenente i dati da unire con la struttura del modulo. Verificare che l'oggetto sia stato restituito dal metodogetOutputContentdell'oggettoFormsResult. - Il metodo
generatePDFOutputrestituisce un oggettoOutputResultcontenente i risultati dell'operazione. - Recuperare il documento PDF non interattivo richiamando il metodo
getGeneratedDocdell'oggettoOutputResult. Questo metodo restituisce un'istanzacom.adobe.idp.Documentche rappresenta il documento PDF non interattivo.
- Un valore enum
-
Memorizzare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management
Aggiungere il contenuto richiamando il metodo
storeContentdell'oggettoDocumentManagementServiceClientImple 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 dello spazio in cui viene aggiunto il contenuto, ad esempio
/Company Home/Test Directory. Questo valore è un parametro obbligatorio. - Nome del nodo che rappresenta il nuovo contenuto, ad esempio
MortgageForm.pdf. Questo valore è un parametro obbligatorio. - Valore stringa che specifica il tipo di nodo. Per aggiungere nuovo contenuto, ad esempio un file PDF, specificare
{https://www.alfresco.org/model/content/1.0}content. Questo valore è un parametro obbligatorio. - Oggetto
com.adobe.idp.Documentche rappresenta il contenuto. Questo valore è un parametro obbligatorio. - Valore stringa che specifica il valore di codifica, ad esempio
UTF-8. Questo valore è un parametro obbligatorio. - Valore di enumerazione
UpdateVersionTypeche specifica come gestire le informazioni sulla versione (ad esempio,UpdateVersionType.INCREMENT_MAJOR_VERSIONper incrementare la versione del contenuto. ) Questo valore è un parametro obbligatorio. - Istanza
java.util.Listche specifica gli aspetti correlati al contenuto. Questo valore è un parametro facoltativo ed è possibile specificarenull. - Oggetto
java.util.Mapche memorizza gli attributi del contenuto.
Il metodo
storeContentrestituisce un oggettoCRCResultche descrive il contenuto. Utilizzando un oggettoCRCResult, è possibile, ad esempio, ottenere il valore dell'identificatore univoco del contenuto. Per eseguire questa attività, richiamare il metodogetNodeUuiddell'oggettoCRCResult. - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L'archivio predefinito è
Consulta anche
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione