Trasmissione di documenti al servizio Forms passing-documents-to-the-formsservice
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, puoi trasmettere un com.adobe.idp.Document
oggetto contenente la struttura del modulo al servizio Forms. Il servizio Forms esegue quindi il rendering della struttura del modulo che si trova nel com.adobe.idp.Document
oggetto.
Il vantaggio di passare un com.adobe.idp.Document
oggetto del servizio Forms: altre operazioni del servizio restituiscono un com.adobe.idp.Document
istanza. Cioè, puoi ottenere un com.adobe.idp.Document
istanza da un'altra operazione di servizio ed esegui 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 com.adobe.idp.Document
oggetto.
Riepilogo dei passaggi summary-of-steps
Per passare un documento ottenuto da Content Services (obsoleto) (obsoleto) al servizio Forms, esegui le seguenti attività:
- Includi file di progetto.
- Creare un oggetto Forms e un oggetto API client di gestione documenti.
- Recupera la struttura del modulo da Content Services (obsoleto).
- Eseguire il rendering del modulo PDF interattivo.
- Eseguire un’azione con il flusso di dati del modulo.
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 com.adobe.idp.Document
istanza (o BLOB
(se utilizzi servizi web). È quindi possibile passare il com.adobe.idp.Document
al servizio Forms.
Rendering di un modulo PDF interattivo
Per eseguire il rendering di un modulo interattivo, passare il com.adobe.idp.Document
istanza restituita da Content Services (obsoleto) al servizio Forms.
com.adobe.idp.Document
che contiene la struttura del modulo al servizio Forms. Due nuovi metodi denominati renderPDFForm2
e renderHTMLForm2
accettare com.adobe.idp.Document
oggetto 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
Trasmettere documenti al servizio Forms utilizzando l’API Java pass-documents-to-the-forms-service-using-the-java-api
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
- Crea un
ServiceClientFactory
oggetto contenente le proprietà di connessione. (Vedi Impostazione delle proprietà di connessione.) - Crea un
FormsServiceClient
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto. - Crea un
DocumentManagementServiceClientImpl
utilizzando il relativo costruttore e passandoServiceClientFactory
oggetto.
- Crea un
-
Recupera la struttura del modulo da Content Services (obsoleto)
Richiama il
DocumentManagementServiceClientImpl
dell’oggettoretrieveContent
e passare i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
SpacesStore
. Questo valore è un parametro obbligatorio. - Valore stringa che specifica il percorso completo del contenuto da recuperare (ad esempio,
/Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio. - Valore stringa che specifica la versione. Questo valore è un parametro facoltativo ed è possibile trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
La
retrieveContent
restituisce unCRCResult
oggetto che contiene il file XDP. Ottenere uncom.adobe.idp.Document
richiamando laCRCResult
dell’oggettogetDocument
metodo . - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il
FormsServiceClient
dell’oggettorenderPDFForm2
e passare i seguenti valori:- A
com.adobe.idp.Document
oggetto contenente la struttura del modulo recuperata da Content Services (obsoleto). - A
com.adobe.idp.Document
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotocom.adobe.idp.Document
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera specificare le opzioni di esecuzione. - A
URLSpec
oggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull
. - A
java.util.HashMap
oggetto che memorizza gli allegati di file. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo.
La
renderPDFForm
restituisce unFormsResult
oggetto che contiene un flusso di dati del modulo che deve essere scritto nel browser Web client. - A
-
Eseguire un’azione con il flusso di dati del modulo
- Crea un
com.adobe.idp.Document
richiamando l'oggettoFormsResult
oggetto ‘sgetOutputContent
metodo . - Ottieni il tipo di contenuto del
com.adobe.idp.Document
richiamandone l'oggettogetContentType
metodo . - Imposta la
javax.servlet.http.HttpServletResponse
tipo di contenuto dell’oggetto richiamandone il tiposetContentType
e passare il tipo di contenutocom.adobe.idp.Document
oggetto. - Crea un
javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser Web client richiamando iljavax.servlet.http.HttpServletResponse
dell’oggettogetOutputStream
metodo . - Crea un
java.io.InputStream
richiamando l'oggettocom.adobe.idp.Document
dell’oggettogetInputStream
metodo . - Creare un array di byte e compilarlo con il flusso di dati del modulo richiamando il
InputStream
dell’oggettoread
metodo . Passa l'array di byte come argomento. - Richiama il
javax.servlet.ServletOutputStream
dell’oggettowrite
per inviare il flusso di dati del modulo al browser Web client. Passa l'array di byte alwrite
metodo .
- Crea un
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
Trasmettere i documenti al servizio Forms utilizzando l’API del servizio Web pass-documents-to-the-forms-service-using-the-web-service-api
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
.Perché
BLOB
il tipo di dati è comune a entrambi i riferimenti di servizio e definisce completamente ilBLOB
tipo di dati quando viene utilizzato. All'avvio rapido del servizio Web corrispondente,BLOB
le istanze sono completamente qualificate.note note NOTE 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
-
Crea un
FormsServiceClient
utilizzando il relativo costruttore predefinito. -
Crea un
FormsServiceClient.Endpoint.Address
utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/FormsService?WSDL
). Non è necessario utilizzare illc_version
attributo. Questo attributo viene utilizzato quando si crea un riferimento a un servizio.) -
Crea un
System.ServiceModel.BasicHttpBinding
ottenendo il valore delFormsServiceClient.Endpoint.Binding
campo . Imposta il valore restituito suBasicHttpBinding
. -
Imposta la
System.ServiceModel.BasicHttpBinding
dell’oggettoMessageEncoding
campo aWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente del modulo di AEM al campo
FormsServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore della password corrispondente al campo
FormsServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Assegnare il nome utente del modulo di AEM al campo
-
Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Ripeti questi passaggi per DocumentManagementServiceClient
* client di servizio. * -
-
Recupera la struttura del modulo da Content Services (obsoleto)
Recupera il contenuto richiamando il
DocumentManagementServiceClient
dell’oggettoretrieveContent
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. - Valore stringa che specifica il percorso completo del contenuto da recuperare (ad esempio,
/Company Home/Form Designs/Loan.xdp
). Questo valore è un parametro obbligatorio. - Valore stringa che specifica la versione. Questo valore è un parametro facoltativo ed è possibile trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
- Parametro di output della stringa che memorizza il valore del collegamento di ricerca.
- A
BLOB
parametro di output che memorizza il contenuto. Puoi utilizzare questo parametro di output per recuperare il contenuto. - A
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
parametro di output che memorizza gli attributi di contenuto. - A
CRCResult
parametro di output. Invece di utilizzare questo oggetto, è possibile utilizzare ilBLOB
parametro di output per ottenere il contenuto.
- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. Lo store predefinito è
-
Rendering di un modulo PDF interattivo
Richiama il
FormsServiceClient
dell’oggettorenderPDFForm2
e passare i seguenti valori:- A
BLOB
oggetto contenente la struttura del modulo recuperata da Content Services (obsoleto). - A
BLOB
oggetto contenente i dati da unire al modulo. Se non si desidera unire i dati, passare un valore vuotoBLOB
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di esecuzione. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera specificare le opzioni di esecuzione. - A
URLSpec
oggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull
. - A
Map
oggetto che memorizza gli allegati di file. Questo valore è un parametro facoltativo ed è possibile specificarenull
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.
- A
FormsResult
parametro di output utilizzato per memorizzare il modulo interattivo di PDF.
La
renderPDFForm2
restituisce unFormsResult
oggetto contenente il modulo interattivo di PDF. - A
-
Eseguire un’azione con il flusso di dati del modulo
- Crea un
BLOB
oggetto che contiene i dati del modulo ottenendo il valoreFormsResult
dell’oggettooutputContent
campo . - Crea un
System.IO.FileStream
richiamando il relativo costruttore. Passa un valore 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 del
BLOB
oggetto recuperato dalFormsResult
oggetto. Compilare l’array di byte ottenendo il valore delBLOB
dell’oggettoMTOM
membro dati. - Crea un
System.IO.BinaryWriter
richiamando il relativo costruttore e passandoSystem.IO.FileStream
oggetto. - Scrivi il contenuto dell’array di byte in un file PDF richiamando il
System.IO.BinaryWriter
dell’oggettoWrite
e passare l'array di byte.
- Crea un
Consulta anche
Richiamo di AEM Forms tramite MTOM