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
.
Per ulteriori informazioni sul servizio Forms, vedere Guida di riferimento dei servizi per AEM Forms.
Per trasmettere un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, eseguire le operazioni seguenti:
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.
È 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
Trasferite un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e Content Services API (obsoleto):
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.
Creare un oggetto Forms e Document Management Client API
ServiceClientFactory
che contiene 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
.Recuperare la struttura del modulo da Content Services (obsoleto)
Richiamare il metodo DocumentManagementServiceClientImpl
dell'oggetto retrieveContent
e trasmettere 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
che contiene il file XDP. Ottenete un'istanza com.adobe.idp.Document
richiamando il metodo CRCResult
dell'oggetto getDocument
.
Rendering di un modulo PDF interattivo
Richiamare il metodo FormsServiceClient
dell'oggetto renderPDFForm2
e trasmettere i seguenti valori:
com.adobe.idp.Document
che contiene la struttura del modulo recuperata da Content Services (obsoleto).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.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. 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.
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 del 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
. Trasmettere l'array di byte come argomento.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
Trasferite un documento ottenuto da Content Services (obsoleto) utilizzando il servizio Forms e Content Services (obsoleto) API (servizio Web):
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.
Sostituire localhost
con l'indirizzo IP del server che ospita AEM Forms.
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:
FormsServiceClient.ClientCredentials.UserName.UserName
.FormsServiceClient.ClientCredentials.UserName.Password
.HttpClientCredentialType.Basic
al campo BasicHttpBindingSecurity.Transport.ClientCredentialType
.Assegnare il valore costante BasicHttpSecurityMode.TransportCredentialOnly
al campo BasicHttpBindingSecurity.Security.Mode
.
Ripetere questi passaggi per il client di DocumentManagementServiceClient
servizio.
Recuperare la struttura del modulo da Content Services (obsoleto)
Recuperate il contenuto richiamando il metodo DocumentManagementServiceClient
dell'oggetto retrieveContent
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. Potete usare 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, potete utilizzare il parametro di output BLOB
per ottenere il contenuto.Rendering di un modulo PDF interattivo
Richiamare il metodo FormsServiceClient
dell'oggetto renderPDFForm2
e trasmettere i seguenti valori:
BLOB
che contiene la struttura del modulo recuperata da Content Services (obsoleto).BLOB
che contiene 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. 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
contenente dati del modulo ottenendo il valore del campo FormsResult
dell'oggetto outputContent
.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.BLOB
recuperato dall'oggetto FormsResult
. Compilare l'array di byte ottenendo il valore del membro di dati BLOB
dell'oggetto MTOM
.System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggetto System.IO.FileStream
.System.IO.BinaryWriter
dell'oggetto Write
e passando l'array di byte.Consulta anche