Invio di documenti al servizio Forms

Il servizio AEM Forms esegue il rendering dei PDF forms interattivi sui dispositivi client, in genere sui browser Web, per raccogliere informazioni dagli utenti. Un modulo PDF interattivo si basa su una struttura del modulo che in genere viene salvata come file XDP e creata in Designer. A partire da AEM Forms, è possibile trasmettere al servizio Forms un oggetto com.adobe.idp.Document contenente la struttura del modulo. Il servizio Forms esegue quindi il rendering della struttura del modulo situata nell'oggetto com.adobe.idp.Document.

Il vantaggio di passare un oggetto com.adobe.idp.Document al servizio Forms consiste nel fatto che altre operazioni del servizio restituiscono un'istanza com.adobe.idp.Document. In altre parole, potete ottenere un'istanza com.adobe.idp.Document da un'altra operazione del servizio ed eseguirne il rendering. Ad esempio, si supponga che un file XDP sia memorizzato in un nodo Content Services (obsoleto) denominato /Company Home/Form Designs, come illustrato nell'illustrazione seguente.

È possibile recuperare Loan.xdp a livello di programmazione da Content Services (obsoleto) (obsoleto) e passare il file XDP al servizio Forms all'interno di un oggetto com.adobe.idp.Document.

NOTA

Per ulteriori informazioni sul servizio Forms, vedere Guida di riferimento dei servizi per AEM Forms.

Riepilogo dei passaggi

Per trasmettere un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, eseguire le operazioni seguenti:

  1. Includere i file di progetto.
  2. Creare un oggetto Forms e un oggetto API client Document Management.
  3. Recuperare la struttura del modulo da Content Services (obsoleto).
  4. Eseguire il rendering del modulo PDF interattivo.
  5. Eseguire un'azione con il flusso di dati del modulo.

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, includete i file proxy.

Creare un oggetto Forms e Document Management Client API

Prima di eseguire un'operazione API di servizio Forms a livello di programmazione, creare un oggetto API client Forms. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), create un oggetto API Document Management.

Recuperare la struttura del modulo da Content Services (obsoleto)

Recuperate il file XDP da Content Services (obsoleto) utilizzando l'API Java o del servizio Web. Il file XDP viene restituito all'interno di un'istanza com.adobe.idp.Document (o di un'istanza BLOB se si utilizzano servizi Web). Potete quindi passare l'istanza com.adobe.idp.Document al servizio Forms.

Rendering di un modulo PDF interattivo

Per eseguire il rendering di un modulo interattivo, passare l'istanza com.adobe.idp.Document restituita da Content Services (obsoleto) al servizio Forms.

NOTA

È possibile passare al servizio Forms un com.adobe.idp.Document contenente la struttura del modulo. Due nuovi metodi denominati renderPDFForm2 e renderHTMLForm2 accettano un oggetto com.adobe.idp.Document contenente una struttura del modulo.

Eseguire un'azione con il flusso di dati del modulo

A seconda del tipo di applicazione client, è possibile scrivere il modulo in un browser Web client o salvarlo come file PDF. In genere, un'applicazione basata sul Web scrive il modulo nel browser Web. Tuttavia, in genere un'applicazione desktop salva il modulo come file PDF.

Consulta anche

Inclusione file libreria Java AEM Forms

Impostazione delle proprietà di connessione

Avvio rapido di Forms Service API

Trasmettere documenti al servizio Forms utilizzando l'API Java

Trasferite un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e Content Services API (obsoleto):

  1. Includi file di progetto

    Includete file JAR client, ad esempio adobe-forms-client.jar e adobe-contentservices-client.jar, nel percorso di classe del progetto Java.

  2. Creare un oggetto Forms e Document Management Client API

    • Creare un oggetto ServiceClientFactory che contiene le proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)
    • Creare un oggetto FormsServiceClient utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory.
    • Creare un oggetto DocumentManagementServiceClientImpl utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory.
  3. Recuperare la struttura del modulo da Content Services (obsoleto)

    Richiamare il metodo DocumentManagementServiceClientImpl dell'oggetto retrieveContent e trasmettere i seguenti valori:

    • Valore stringa che specifica lo store in cui viene aggiunto il contenuto. Lo store predefinito è SpacesStore. Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica il percorso completo del contenuto da recuperare (ad esempio, /Company Home/Form Designs/Loan.xdp). Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica la versione. Questo valore è un parametro facoltativo e potete trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.

    Il metodo retrieveContent restituisce un oggetto CRCResult che contiene il file XDP. Ottenete un'istanza com.adobe.idp.Document richiamando il metodo CRCResult dell'oggetto getDocument.

  4. Rendering di un modulo PDF interattivo

    Richiamare il metodo FormsServiceClient dell'oggetto renderPDFForm2 e trasmettere i seguenti valori:

    • Un oggetto com.adobe.idp.Document che contiene la struttura del modulo recuperata da Content Services (obsoleto).
    • Un oggetto com.adobe.idp.Document che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare un oggetto com.adobe.idp.Document vuoto.
    • Un oggetto PDFFormRenderSpec che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificare null se non si desidera specificare le opzioni di esecuzione.
    • Un oggetto URLSpec che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificare null.
    • Un oggetto java.util.HashMap che memorizza gli allegati. Questo valore è 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 del modulo che deve essere scritto nel browser Web del client.

  5. Eseguire un'azione con il flusso di dati del modulo

    • Creare un oggetto com.adobe.idp.Document richiamando il metodo FormsResult object ‘s getOutputContent.
    • Ottenere il tipo di contenuto dell'oggetto com.adobe.idp.Document richiamandone il metodo getContentType.
    • Impostare il tipo di contenuto dell'oggetto javax.servlet.http.HttpServletResponse richiamandone il 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 del client richiamando il metodo javax.servlet.http.HttpServletResponse dell'oggetto getOutputStream.
    • Creare un oggetto java.io.InputStream richiamando il metodo com.adobe.idp.Document dell'oggetto getInputStream.
    • Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il metodo InputStream dell'oggetto read. Trasmettere l'array di byte come argomento.
    • Richiamare il metodo javax.servlet.ServletOutputStream dell'oggetto write per inviare il flusso di dati del modulo al browser Web del client. Passate l'array di byte al metodo write.

Consulta anche

Avvio rapido (modalità SOAP): Trasmissione di documenti al servizio Forms tramite l'API Java

Inclusione file libreria Java AEM Forms

Impostazione delle proprietà di connessione

Trasmettere documenti al servizio Forms utilizzando l'API del servizio Web

Trasferite un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e Content Services (obsoleto) API (servizio Web):

  1. Includi file di progetto

    Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms , create due riferimenti al servizio. Utilizzate la seguente definizione WSDL per il riferimento al servizio associato al servizio Forms: http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1.

    Utilizzate la seguente definizione WSDL per il riferimento al servizio associato al servizio Document Management: http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1.

    Poiché il tipo di dati BLOB è comune a entrambi i riferimenti di servizio, è necessario qualificare completamente il tipo di dati BLOB quando viene utilizzato. Nella procedura di avvio rapido del servizio Web corrispondente, tutte le istanze BLOB sono completamente qualificate.

    NOTA

    Sostituire localhostcon l'indirizzo IP del server che ospita AEM Forms.

  2. Creare un oggetto Forms e Document Management Client API

    • Creare un oggetto FormsServiceClient utilizzando il relativo costruttore predefinito.

    • Creare un oggetto FormsServiceClient.Endpoint.Address utilizzando il costruttore System.ServiceModel.EndpointAddress. Passate un valore di stringa che specifica il WSDL al servizio AEM Forms (ad esempio, http://localhost:8080/soap/services/FormsService?WSDL). Non è necessario utilizzare l'attributo lc_version. Questo attributo viene utilizzato quando create un riferimento a un servizio.

    • Creare un oggetto System.ServiceModel.BasicHttpBinding ottenendo il valore del campo FormsServiceClient.Endpoint.Binding. Inserite il valore restituito in BasicHttpBinding.

    • Impostare il campo System.ServiceModel.BasicHttpBinding dell'oggetto MessageEncoding su WSMessageEncoding.Mtom. Questo valore assicura che venga utilizzato MTOM.

    • Abilitate l'autenticazione HTTP di base eseguendo le seguenti operazioni:

      • Assegnare il nome utente del modulo AEM al campo FormsServiceClient.ClientCredentials.UserName.UserName.
      • Assegnare il valore della password corrispondente al campo FormsServiceClient.ClientCredentials.UserName.Password.
      • Assegnare il valore costante HttpClientCredentialType.Basic al campo BasicHttpBindingSecurity.Transport.ClientCredentialType.
    • Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly al campo BasicHttpBindingSecurity.Security.Mode.

    NOTA

    Ripetere questi passaggi per il client di DocumentManagementServiceClientservizio.

  3. Recuperare la struttura del modulo da Content Services (obsoleto)

    Recuperate il contenuto richiamando il metodo DocumentManagementServiceClient dell'oggetto retrieveContent e passando i seguenti valori:

    • Valore stringa che specifica lo store in cui viene aggiunto il contenuto. Lo store predefinito è SpacesStore. Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica il percorso completo del contenuto da recuperare (ad esempio, /Company Home/Form Designs/Loan.xdp). Questo valore è un parametro obbligatorio.
    • Un valore di stringa che specifica la versione. Questo valore è un parametro facoltativo e potete trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
    • Un parametro di output della stringa che memorizza il valore del collegamento di ricerca.
    • Un parametro di output BLOB che memorizza il contenuto. Potete usare questo parametro di output per recuperare il contenuto.
    • Un parametro di output ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType che memorizza gli attributi di contenuto.
    • Un parametro di output CRCResult. Invece di utilizzare questo oggetto, potete utilizzare il parametro di output BLOB per ottenere il contenuto.
  4. Rendering di un modulo PDF interattivo

    Richiamare il metodo FormsServiceClient dell'oggetto renderPDFForm2 e trasmettere i seguenti valori:

    • Un oggetto BLOB che contiene la struttura del modulo recuperata da Content Services (obsoleto).
    • Un oggetto BLOB che contiene i dati da unire al modulo. Se non si desidera unire i dati, passare un oggetto BLOB vuoto.
    • Un oggetto PDFFormRenderSpec che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificare null se non si desidera specificare le opzioni di esecuzione.
    • Un oggetto URLSpec che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificare null.
    • Un oggetto Map che memorizza gli allegati. Questo valore è un parametro facoltativo ed è possibile specificare null se non si desidera allegare file al modulo.
    • Un parametro di output lungo utilizzato per memorizzare il conteggio delle pagine.
    • Un parametro di output della stringa utilizzato per memorizzare il valore delle impostazioni internazionali.
    • Un parametro di output FormsResult utilizzato per memorizzare il modulo PDF interattivo .

    Il metodo renderPDFForm2 restituisce un oggetto FormsResult contenente il modulo PDF interattivo.

  5. Eseguire un'azione con il flusso di dati del modulo

    • Creare un oggetto BLOB contenente dati del modulo ottenendo il valore del campo FormsResult dell'oggetto outputContent.
    • Creare un oggetto System.IO.FileStream richiamandone il costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.
    • Creare un array di byte che memorizza il contenuto dell'oggetto BLOB recuperato dall'oggetto FormsResult. Compilare l'array di byte ottenendo il valore del membro di dati BLOB dell'oggetto MTOM.
    • Creare un oggetto System.IO.BinaryWriter richiamandone il costruttore e passando l'oggetto System.IO.FileStream.
    • Scrivere il contenuto dell'array di byte in un file PDF richiamando il metodo System.IO.BinaryWriter dell'oggetto Write e passando l'array di byte.

Consulta anche

Chiamata AEM Forms tramite MTOM

In questa pagina