Creazione di documenti PDF con dati XML inviati

ATTENZIONE

AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

Creazione di documenti PDF con dati XML inviati

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.

NOTA

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:

  • 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.

cd_cd_finsrv_architecture_xml_pdf1

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).

cd_cd_cs_gui

Riepilogo dei passaggi

Per creare un documento PDF non interattivo con dati XML inviati e archiviarlo nel documento PDF in Content Services (obsoleto), eseguire le operazioni seguenti:

  1. Includi file di progetto.
  2. Creazione di oggetti Forms, Output e Document Management.
  3. Recupera i dati del modulo utilizzando il servizio Forms.
  4. Creare un documento PDF non interattivo utilizzando il servizio Output.
  5. 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

Creare un documento PDF con i dati XML inviati utilizzando l’API Forms, Output e Document Management (Java):

  1. 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.

  2. 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 passando ServiceClientFactory oggetto.
    • Crea un OutputClient utilizzando il relativo costruttore e passando ServiceClientFactory oggetto.
    • Crea un DocumentManagementServiceClientImpl utilizzando il relativo costruttore e passando ServiceClientFactory oggetto.
  3. Recupera i dati del modulo utilizzando il servizio Forms

    • Richiama il FormsServiceClient dell’oggetto processFormSubmission 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 esempio Mozilla/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 un FormsResult oggetto contenente i risultati dell'invio del modulo.

    • Determinare se il servizio Forms ha completato l’elaborazione dei dati del modulo richiamando il FormsResult dell’oggetto getAction metodo . Se questo metodo restituisce il valore 0, i dati sono pronti per essere elaborati.

    • Recupera i dati del modulo creando un com.adobe.idp.Document richiamando l'oggetto FormsResult dell’oggetto getOutputContent metodo . Questo oggetto contiene i dati del modulo che possono essere inviati al servizio Output.

    • Crea un java.io.InputStream richiamando l'oggetto java.io.DataInputStream costruttore e passaggio com.adobe.idp.Document oggetto.

    • Crea un org.w3c.dom.DocumentBuilderFactory chiamando l'oggetto statico org.w3c.dom.DocumentBuilderFactory dell’oggetto newInstance metodo .

    • Crea un org.w3c.dom.DocumentBuilder richiamando l'oggetto org.w3c.dom.DocumentBuilderFactory dell’oggetto newDocumentBuilder metodo .

    • Crea un org.w3c.dom.Document richiamando l'oggetto org.w3c.dom.DocumentBuilder dell’oggetto parse e passare java.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 chiamato getNodeText. Viene mostrato il corpo di questo metodo.

  4. Creare un documento PDF non interattivo utilizzando il servizio Output.

    Creare un documento PDF richiamando il OutputClient dell’oggetto generatePDFOutput e passando i seguenti valori:

    • A TransformationFormat valore enum. Per generare un documento PDF, specificare TransformationFormat.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 dal FormsResult dell’oggetto getOutputContent metodo .
    • La generatePDFOutput restituisce un OutputResult oggetto contenente i risultati dell'operazione.
    • Recupera il documento PDF non interattivo richiamando il OutputResult dell’oggetto getGeneratedDoc metodo . Questo metodo restituisce un com.adobe.idp.Document istanza che rappresenta il documento PDF non interattivo.
  5. Archiviare il modulo PDF in Content Services (obsoleto) utilizzando il servizio Document Management

    Aggiungi il contenuto richiamando il DocumentManagementServiceClientImpl dell’oggetto storeContent 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 specificare null.
    • A java.util.Map oggetto che memorizza gli attributi del contenuto.

    La storeContent restituisce un CRCResult oggetto che descrive il contenuto. Utilizzo di un CRCResult ad esempio, puoi ottenere il valore di identificatore univoco del contenuto. Per eseguire questa operazione, richiamare la CRCResult dell’oggetto getNodeUuid metodo .

Consulta anche

Inclusione dei file libreria Java di AEM Forms

Impostazione delle proprietà di connessione

In questa pagina