Creazione di documenti PDF con dati XML inviati creating-pdf-documents-with-submittedxml-data
Creazione di documenti PDF con dati XML inviati creating-pdf-documents-with-submitted-xml-data
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.
Considera 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 Output per creare un documento PDF non interattivo.
- Il documento PDF non interattivo viene memorizzato in Content Services (obsoleto).
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).
Riepilogo dei passaggi summary-of-steps
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.
- Creazione di oggetti Forms, Output e Document Management.
- Recupera i dati del modulo utilizzando il servizio Forms.
- Creare un documento PDF non interattivo utilizzando il servizio Output.
- Archiviare 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, 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
Utilizza l’API del servizio Gestione 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 tramite l’API Java create-a-pdf-document-with-submitted-xml-data-using-the-java-api
Creare un documento PDF con i dati XML inviati utilizzando l’API Forms, Output e Document Management (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
- Crea un
ServiceClientFactory
oggetto contenente le proprietà di connessione. - Crea un
FormsServiceClient
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto. - Crea un
OutputClient
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto. - Crea un
DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto.
- Crea un
-
Recupera i dati del modulo utilizzando il servizio Forms
-
Richiama il
FormsServiceClient
dell’oggettoprocessFormSubmission
e passare i seguenti valori:- La
com.adobe.idp.Document
oggetto contenente i dati del modulo. - Valore stringa che specifica le variabili di ambiente, comprese tutte le intestazioni HTTP rilevanti. Specifica il tipo di contenuto da gestire specificando uno o più valori per il
CONTENT_TYPE
variabile di ambiente. Ad esempio, per gestire i dati XML, specificare il seguente valore di stringa per questo parametro:CONTENT_TYPE=text/xml
. - Un valore stringa che specifica la variabile
HTTP_USER_AGENT
valore di intestazione, ad esempioMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
. - A
RenderOptionsSpec
oggetto che memorizza le opzioni di esecuzione.
La
processFormSubmission
restituisce unFormsResult
oggetto contenente i risultati dell'invio del modulo. - La
-
Determinare se il servizio Forms ha completato l’elaborazione dei dati del modulo richiamando il
FormsResult
dell’oggettogetAction
metodo . Se questo metodo restituisce il valore0
, i dati sono pronti per essere elaborati. -
Recupera i dati del modulo creando un
com.adobe.idp.Document
richiamando l'oggettoFormsResult
dell’oggettogetOutputContent
metodo . Questo oggetto contiene i dati del modulo che possono essere inviati al servizio Output. -
Crea un
java.io.InputStream
richiamando l'oggettojava.io.DataInputStream
costruttore e passaggiocom.adobe.idp.Document
oggetto. -
Crea un
org.w3c.dom.DocumentBuilderFactory
chiamando l'oggetto staticoorg.w3c.dom.DocumentBuilderFactory
dell’oggettonewInstance
metodo . -
Crea un
org.w3c.dom.DocumentBuilder
richiamando l'oggettoorg.w3c.dom.DocumentBuilderFactory
dell’oggettonewDocumentBuilder
metodo . -
Crea un
org.w3c.dom.Document
richiamando l'oggettoorg.w3c.dom.DocumentBuilder
dell’oggettoparse
e passarejava.io.InputStream
oggetto. -
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: la
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 viene chiamatogetNodeText
. Viene mostrato il corpo di questo metodo.
-
-
Creare un documento PDF non interattivo utilizzando il servizio Output.
Creare un documento PDF richiamando il
OutputClient
dell’oggettogeneratePDFOutput
e passando i seguenti valori:- A
TransformationFormat
valore enum. Per generare un documento PDF, specificareTransformationFormat.PDF
. - Valore stringa che specifica il nome della struttura del modulo. Verificare che la struttura 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.
- A
PDFOutputOptionsSpec
oggetto contenente le opzioni di runtime di PDF. - A
RenderOptionsSpec
oggetto contenente le opzioni di esecuzione del rendering. - La
com.adobe.idp.Document
oggetto contenente l’origine dati XML contenente i dati da unire alla struttura del modulo. Assicurati che questo oggetto sia stato restituito dalFormsResult
dell’oggettogetOutputContent
metodo . - La
generatePDFOutput
restituisce unOutputResult
oggetto contenente i risultati dell'operazione. - Recupera il documento PDF non interattivo richiamando il
OutputResult
dell’oggettogetGeneratedDoc
metodo . Questo metodo restituisce uncom.adobe.idp.Document
istanza che rappresenta il documento PDF non interattivo.
- A
-
Archiviare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management
Aggiungi il contenuto richiamando il
DocumentManagementServiceClientImpl
dell’oggettostoreContent
e 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. - Un 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. - A
com.adobe.idp.Document
oggetto che 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. - Un
UpdateVersionType
valore di enumerazione 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. - A
java.util.List
istanza che specifica gli aspetti correlati al contenuto. Questo valore è un parametro facoltativo ed è possibile specificarenull
. - A
java.util.Map
oggetto che memorizza gli attributi del contenuto.
La
storeContent
restituisce unCRCResult
oggetto che descrive il contenuto. Utilizzo di unCRCResult
ad esempio, puoi ottenere il valore di identificatore univoco del contenuto. Per eseguire questa operazione, richiamare laCRCResult
dell’oggettogetNodeUuid
metodo . - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
Consulta anche
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione