Riepilogo dei passaggi

Per eseguire il rendering di un modulo in base al valore, effettuare le seguenti operazioni:

  1. Includi file di progetto.
  2. Crea un oggetto API client di Forms.
  3. Fare riferimento alla progettazione del modulo.
  4. Eseguire il rendering di un modulo per valore.
  5. Scrivere il flusso di dati del modulo nel browser Web client.

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 un oggetto API client di Forms

Prima di poter importare i dati in modo programmatico in un modulo PDF API client, è necessario creare un client del servizio di integrazione dati. Quando si crea un client di servizio, vengono definite le impostazioni di connessione necessarie per richiamare un servizio.

Fai riferimento alla progettazione del modulo

Quando si esegue il rendering di un modulo in base al valore, è necessario creare un oggetto com.adobe.idp.Document contenente la struttura del modulo da riprodurre. È possibile fare riferimento a un file XDP esistente oppure creare dinamicamente una struttura di modulo in fase di esecuzione e popolare un com.adobe.idp.Document con tali dati.

NOTA
Questa sezione e il relativo metodo di avvio rapido fanno riferimento a un file XDP esistente.

Eseguire il rendering di un modulo per valore

Per eseguire il rendering di un modulo in base al valore, passare un'istanza com.adobe.idp.Document contenente la struttura del modulo al parametro inDataDoc del metodo di rendering (può essere uno qualsiasi dei metodi di rendering dell'oggetto FormsServiceClient, ad esempio renderPDFForm, (Deprecated) renderHTMLForm e così via). Questo valore di parametro è in genere riservato ai dati che vengono uniti al modulo. Allo stesso modo, passare un valore stringa vuoto al parametro formQuery. Normalmente questo parametro richiede un valore stringa che specifica il nome della struttura del modulo.

NOTA
Per visualizzare i dati all'interno del modulo, è necessario specificare i dati all'interno dell'elemento xfa:datasets. Per informazioni sull'architettura XFA, vai a https://www.pdfa.org/norm-refs/XFA-3_3.pdf.

Scrivere il flusso di dati del modulo nel browser Web client

Quando il servizio Forms esegue il rendering di un modulo in base al valore, restituisce un flusso di dati del modulo che è necessario scrivere nel browser Web client. Quando viene scritto nel browser Web client, il modulo è visibile all'utente.

Consulta anche

Eseguire il rendering di un modulo per valore utilizzando l’API Java

Eseguire il rendering di un modulo per valore utilizzando l’API del servizio web

Inclusione dei file della libreria Java di AEM Forms

Impostazione delle proprietà di connessione

Guida introduttiva all’API di servizio Forms

Trasmissione di documenti al servizio Forms

Creazione di applicazioni Web per il rendering di Forms

Eseguire il rendering di un modulo per valore utilizzando l’API Java

Eseguire il rendering di un modulo per valore utilizzando l’API Forms (Java):

  1. Includi file di progetto

    Includi i file JAR client, ad esempio adobe-forms-client.jar, nel percorso di classe del progetto Java.

  2. Creare un oggetto API client di Forms

    • Creare un oggetto ServiceClientFactory contenente le proprietà di connessione.
    • Creare un oggetto FormsServiceClient utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory.
  3. Fare riferimento alla progettazione del modulo

    • Creare un oggetto java.io.FileInputStream che rappresenta la struttura del modulo da riprodurre utilizzando il relativo costruttore e passando un valore stringa che specifica la posizione del file XDP.
    • Creare un oggetto com.adobe.idp.Document utilizzando il relativo costruttore e passando l'oggetto java.io.FileInputStream.
  4. Eseguire il rendering di un modulo in base al valore

    Richiama il metodo renderPDFForm dell'oggetto FormsServiceClient e passa i seguenti valori:

    • Valore stringa vuoto. In genere questo parametro richiede un valore stringa che specifica il nome della struttura del modulo.
    • Oggetto com.adobe.idp.Document contenente la struttura del modulo. Normalmente questo valore di parametro è riservato ai dati che vengono uniti con il modulo.
    • Un oggetto PDFFormRenderSpec che memorizza le opzioni di runtime. Questo è un parametro facoltativo ed è possibile specificare null se non si desidera specificare le opzioni di runtime.
    • Oggetto URLSpec contenente i valori URI richiesti dal servizio Forms.
    • Oggetto java.util.HashMap che memorizza gli allegati. Questo è un parametro facoltativo ed è possibile specificare null se non si desidera allegare file al modulo.

    Il metodo renderPDFForm restituisce un oggetto FormsResult contenente un flusso di dati modulo che può essere scritto nel browser Web client.

  5. Scrivere il flusso di dati del modulo nel browser Web client

    • Creare un oggetto com.adobe.idp.Document richiamando il metodo getOutputContent dell'oggetto FormsResult.
    • Ottenere il tipo di contenuto dell'oggetto com.adobe.idp.Document richiamando il relativo metodo getContentType.
    • Impostare il tipo di contenuto dell'oggetto javax.servlet.http.HttpServletResponse richiamando il relativo metodo setContentType e passando il tipo di contenuto dell'oggetto com.adobe.idp.Document.
    • Creare un oggetto javax.servlet.ServletOutputStream utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando il metodo getOutputStream dell'oggetto javax.servlet.http.HttpServletResponse.
    • Creare un oggetto java.io.InputStream richiamando il metodo getInputStream dell'oggetto com.adobe.idp.Document.
    • Creare una matrice di byte e allocare le dimensioni dell'oggetto InputStream. Richiama il metodo available dell'oggetto InputStream per ottenere le dimensioni dell'oggetto InputStream.
    • Compilare la matrice di byte con il flusso di dati del modulo richiamando il metodo read dell'oggetto InputStream e passando la matrice di byte come argomento.
    • Richiama il metodo write dell'oggetto javax.servlet.ServletOutputStream per inviare il flusso di dati del modulo al browser Web client. Passare la matrice di byte al metodo write.