Esempi ed esempi in questo documento sono solo per AEM Forms in ambiente JEE.
Il servizio AEM Forms esegue il rendering dei PDF forms interattivi sui dispositivi client, in genere nei browser web, per raccogliere informazioni dagli utenti. Un modulo PDF interattivo si basa su una struttura del modulo generalmente salvata come file XDP e creata in Designer. A partire da AEM Forms, è possibile passare 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 è che altre operazioni del servizio restituiscono un'istanza com.adobe.idp.Document
. In altre parole, puoi ottenere un'istanza com.adobe.idp.Document
da un'altra operazione di 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 nella figura seguente.
È possibile recuperare in modo programmatico il file Loan.xdp da Content Services (obsoleto) (obsoleto) e passare il file XDP al servizio Forms all'interno di un oggetto com.adobe.idp.Document
.
Per ulteriori informazioni sul servizio Forms, consulta Riferimento servizi per AEM Forms.
Per passare un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, esegui le seguenti attività:
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, includi i file proxy.
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
Prima di eseguire un’operazione API del servizio Forms a livello di programmazione, crea un oggetto API client Forms. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), crea un oggetto API di gestione dei documenti.
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera 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 utilizzi servizi web). Puoi 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, passa l’istanza com.adobe.idp.Document
restituita da Content Services (obsoleta) al servizio Forms.
È possibile passare un com.adobe.idp.Document
contenente la struttura del modulo al servizio Forms. 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 dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Avvio rapido API di Forms Service
Passa un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e l’API Content Services (obsoleto):
Includi file di progetto
Includi file JAR client, come adobe-forms-client.jar e adobe-contentservices-client.jar, nel percorso di classe del progetto Java.
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
ServiceClientFactory
contenente le proprietà di connessione. (Vedere Impostazione delle proprietà di connessione.)FormsServiceClient
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passando l'oggetto ServiceClientFactory
.Recupera la struttura del modulo da Content Services (obsoleto)
Richiama il metodo retrieveContent
dell'oggetto DocumentManagementServiceClientImpl
e passa i seguenti valori:
SpacesStore
. Questo valore è un parametro obbligatorio./Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio.Il metodo retrieveContent
restituisce un oggetto CRCResult
contenente il file XDP. Per ottenere un'istanza com.adobe.idp.Document
, richiama il metodo CRCResult
dell'oggetto getDocument
.
Rendering di un modulo PDF interattivo
Richiama il metodo renderPDFForm2
dell'oggetto FormsServiceClient
e passa i seguenti valori:
com.adobe.idp.Document
che contiene la struttura del modulo recuperata da Content Services (obsoleto).com.adobe.idp.Document
contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un oggetto com.adobe.idp.Document
vuoto.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.URLSpec
che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificare null
.java.util.HashMap
che memorizza gli allegati di file. 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 client.
Eseguire un’azione con il flusso di dati del modulo
com.adobe.idp.Document
richiamando il metodo FormsResult
object ‘s getOutputContent
.com.adobe.idp.Document
richiamandone il metodo getContentType
.javax.servlet.http.HttpServletResponse
richiamandone il metodo setContentType
e passando il tipo di contenuto dell'oggetto com.adobe.idp.Document
.javax.servlet.ServletOutputStream
utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando il metodo javax.servlet.http.HttpServletResponse
dell'oggetto getOutputStream
.java.io.InputStream
richiamando il metodo com.adobe.idp.Document
dell'oggetto getInputStream
.InputStream
dell'oggetto read
. Passa l'array di byte come argomento.write
dell’oggetto javax.servlet.ServletOutputStream
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte al metodo write
.Consulta anche
Avvio rapido (modalità SOAP): Trasmissione di documenti al servizio Forms tramite l’API Java
Inclusione dei file libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Passa un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e l’API Content Services (obsoleto) (servizio Web):
Includi file di progetto
Creare un progetto Microsoft .NET che utilizza MTOM. Poiché questa applicazione client richiama due servizi AEM Forms, crea due riferimenti al servizio. Utilizza 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
.
Utilizzare 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, qualifica completamente il tipo di dati BLOB
quando lo utilizzi. Nel corrispondente avvio rapido del servizio Web, tutte le istanze BLOB
sono completamente qualificate.
Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms.
Creare un oggetto Forms e un oggetto API client di gestione dei documenti
Creare un oggetto FormsServiceClient
utilizzando il relativo costruttore predefinito.
Creare un oggetto FormsServiceClient.Endpoint.Address
utilizzando il costruttore System.ServiceModel.EndpointAddress
. Passa un valore 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 si crea un riferimento a un servizio.)
Crea un oggetto System.ServiceModel.BasicHttpBinding
ottenendo il valore del campo FormsServiceClient.Endpoint.Binding
. Imposta il valore restituito su BasicHttpBinding
.
Impostare il campo MessageEncoding
dell'oggetto System.ServiceModel.BasicHttpBinding
su WSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM.
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
FormsServiceClient.ClientCredentials.UserName.UserName
.FormsServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.Assegna il valore costante BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.
Ripeti questi passaggi per il client di servizio DocumentManagementServiceClient
.
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera il contenuto richiamando il metodo retrieveContent
dell’oggetto DocumentManagementServiceClient
e passando i seguenti valori:
SpacesStore
. Questo valore è un parametro obbligatorio./Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio.BLOB
che memorizza il contenuto. Puoi utilizzare questo parametro di output per recuperare il contenuto.ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
che memorizza gli attributi di contenuto.CRCResult
. Invece di utilizzare questo oggetto, è possibile utilizzare il parametro di output BLOB
per ottenere il contenuto.Rendering di un modulo PDF interattivo
Richiama il metodo renderPDFForm2
dell'oggetto FormsServiceClient
e passa i seguenti valori:
BLOB
che contiene la struttura del modulo recuperata da Content Services (obsoleto).BLOB
contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un oggetto BLOB
vuoto.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.URLSpec
che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificare null
.Map
che memorizza gli allegati di file. Questo valore è un parametro facoltativo ed è possibile specificare null
se non si desidera allegare file al modulo.FormsResult
utilizzato per memorizzare il modulo PDF interattivo .
Il metodo renderPDFForm2
restituisce un oggetto FormsResult
contenente il modulo PDF interattivo.
Eseguire un’azione con il flusso di dati del modulo
BLOB
che contiene i dati del modulo ottenendo il valore del campo FormsResult
dell'oggetto outputContent
.System.IO.FileStream
richiamando il relativo costruttore. Passare un valore di stringa che rappresenta la posizione del file del documento PDF interattivo e la modalità di apertura del file.BLOB
recuperato dall'oggetto FormsResult
. Compilare l'array di byte ottenendo il valore del membro dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.Write
dell’oggetto System.IO.BinaryWriter
e passando l’array di byte.Consulta anche