Trasmissione di documenti al servizio Forms passing-documents-to-the-formsservice
Gli esempi e gli esempi contenuti in questo documento sono solo per l’ambiente AEM Forms su JEE.
Il servizio AEM Forms esegue il rendering dei PDF forms interattivi sui dispositivi client, in genere i browser web, per raccogliere informazioni dagli utenti. Un modulo PDF interattivo si basa su una struttura di modulo che in genere viene salvata come file XDP e creata in Designer. A partire da AEM Forms, puoi trasmettere un com.adobe.idp.Document
oggetto che contiene la struttura del modulo per il servizio Forms. Il servizio Forms esegue quindi il rendering della progettazione del modulo in com.adobe.idp.Document
oggetto.
Il vantaggio di superare un com.adobe.idp.Document
al servizio Forms è che altre operazioni del servizio restituiscono un com.adobe.idp.Document
dell'istanza. In altre parole, puoi ottenere un 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.
Puoi recuperare in modo programmatico 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, eseguire le operazioni seguenti:
- Includi file di progetto.
- Creare un oggetto Forms e un oggetto API Client di Document Management.
- Recupera la progettazione del modulo da Content Services (obsoleto).
- Esegui il rendering del modulo di 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 si utilizzano servizi Web, includere i file proxy.
Creare un oggetto Forms e un oggetto API client di Document Management
Prima di poter eseguire un'operazione API del servizio Forms a livello di programmazione, creare un oggetto API del client Forms. Inoltre, poiché questo flusso di lavoro recupera un file XDP da Content Services (obsoleto), crea un oggetto API di gestione dei documenti.
Recuperare la progettazione 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 un BLOB
se si utilizzano i servizi web). È quindi possibile trasmettere com.adobe.idp.Document
al servizio Forms.
Rendering di un modulo PDF interattivo
Per riprodurre un modulo interattivo, trasmettere com.adobe.idp.Document
istanza restituita da Content Services (obsoleta) al servizio Forms.
com.adobe.idp.Document
che contiene la struttura del modulo per il servizio Forms. Due nuovi metodi: renderPDFForm2
e renderHTMLForm2
accetta un com.adobe.idp.Document
oggetto che contiene una struttura di 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, un'applicazione desktop in genere salva il modulo come file PDF.
Consulta anche
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Guida introduttiva all’API di servizio Forms
Trasmettere i documenti al servizio Forms tramite 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) (Java):
-
Includi file di progetto
Includi i 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 Document Management
- Creare un
ServiceClientFactory
oggetto che contiene proprietà di connessione. (vedere Impostazione delle proprietà di connessione.) - Creare un
FormsServiceClient
mediante il costruttore e passando ilServiceClientFactory
oggetto. - Creare un
DocumentManagementServiceClientImpl
mediante il costruttore e passando ilServiceClientFactory
oggetto.
- Creare un
-
Recuperare la progettazione del modulo da Content Services (obsoleto)
Richiama
DocumentManagementServiceClientImpl
dell'oggettoretrieveContent
e trasmettere i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L’archivio 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 e puoi trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
Il
retrieveContent
il metodo restituisce unCRCResult
oggetto che contiene il file XDP. Ottenere uncom.adobe.idp.Document
richiamando ilCRCResult
dell'oggettogetDocument
metodo. - Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L’archivio predefinito è
-
Rendering di un modulo PDF interattivo
Richiama
FormsServiceClient
dell'oggettorenderPDFForm2
e trasmettere i seguenti valori:- A
com.adobe.idp.Document
oggetto che contiene la struttura del modulo recuperata da Content Services (obsoleto). - A
com.adobe.idp.Document
oggetto contenente dati da unire con il modulo. Se non desideri unire i dati, passa un campo vuotocom.adobe.idp.Document
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di runtime. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera specificare le opzioni di runtime. - A
URLSpec
oggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull
. - A
java.util.HashMap
oggetto che memorizza gli allegati. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera allegare file al modulo.
Il
renderPDFForm
il metodo restituisce unFormsResult
oggetto contenente un flusso di dati modulo che deve essere scritto nel browser web client. - A
-
Eseguire un'azione con il flusso di dati del modulo
- Creare un
com.adobe.idp.Document
oggetto richiamando ilFormsResult
oggetto "sgetOutputContent
metodo. - Ottieni il tipo di contenuto del
com.adobe.idp.Document
oggetto richiamando il relativogetContentType
metodo. - Imposta il
javax.servlet.http.HttpServletResponse
tipo di contenuto dell'oggetto richiamando il relativosetContentType
e passando il tipo di contenuto delcom.adobe.idp.Document
oggetto. - Creare un
javax.servlet.ServletOutputStream
oggetto utilizzato per scrivere il flusso di dati del modulo nel browser web client richiamandojavax.servlet.http.HttpServletResponse
dell'oggettogetOutputStream
metodo. - Creare un
java.io.InputStream
oggetto richiamando ilcom.adobe.idp.Document
dell'oggettogetInputStream
metodo. - Creare una matrice di byte e popolarla con il flusso di dati del modulo richiamando
InputStream
dell'oggettoread
metodo. Passa la matrice di byte come argomento. - Richiama
javax.servlet.ServletOutputStream
dell'oggettowrite
metodo per inviare il flusso di dati del modulo al browser web client. Passare la matrice di byte alwrite
metodo.
- Creare un
Consulta anche
Quick Start (modalità SOAP): passaggio di documenti al servizio Forms utilizzando l’API Java
Inclusione dei file della 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 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, creare 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é il
BLOB
il tipo di dati è comune a entrambi i riferimenti di servizio, qualifica completaBLOB
tipo di dati quando lo si utilizza. Nel servizio Web corrispondente, tutte leBLOB
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 Document Management
-
Creare un
FormsServiceClient
utilizzando il costruttore predefinito. -
Creare un
FormsServiceClient.Endpoint.Address
oggetto utilizzandoSystem.ServiceModel.EndpointAddress
costruttore. Passa un valore stringa che specifica il file 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.) -
Creare un
System.ServiceModel.BasicHttpBinding
dell'oggetto ottenendo il valore delFormsServiceClient.Endpoint.Binding
campo. Invia il valore restituito aBasicHttpBinding
. -
Imposta il
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à:
- Assegna al campo il nome utente dei moduli AEM
FormsServiceClient.ClientCredentials.UserName.UserName
. - Assegna il valore password corrispondente al campo
FormsServiceClient.ClientCredentials.UserName.Password
. - Assegna il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Assegna al campo il nome utente dei moduli AEM
-
Assegna il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Ripeti questi passaggi per DocumentManagementServiceClient
client del servizio. -
-
Recuperare la progettazione del modulo da Content Services (obsoleto)
Recupera il contenuto richiamando
DocumentManagementServiceClient
dell'oggettoretrieveContent
e fornendo i seguenti valori:- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L’archivio 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 e puoi trasmettere una stringa vuota. In questa situazione, viene recuperata la versione più recente.
- Parametro di output stringa che memorizza il valore del collegamento Sfoglia.
- 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 del contenuto. - A
CRCResult
parametro di output. Invece di utilizzare questo oggetto, puoi utilizzareBLOB
parametro di output per ottenere il contenuto.
- Valore stringa che specifica l'archivio in cui viene aggiunto il contenuto. L’archivio predefinito è
-
Rendering di un modulo PDF interattivo
Richiama
FormsServiceClient
dell'oggettorenderPDFForm2
e trasmettere i seguenti valori:- A
BLOB
oggetto che contiene la struttura del modulo recuperata da Content Services (obsoleto). - A
BLOB
oggetto contenente dati da unire con il modulo. Se non desideri unire i dati, passa un campo vuotoBLOB
oggetto. - A
PDFFormRenderSpec
oggetto che memorizza le opzioni di runtime. Questo valore è un parametro facoltativo ed è possibile specificarenull
se non si desidera specificare le opzioni di runtime. - A
URLSpec
oggetto che contiene valori URI. Questo valore è un parametro facoltativo ed è possibile specificarenull
. - A
Map
oggetto che memorizza gli allegati. 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.
- Parametro di output stringa utilizzato per memorizzare il valore delle impostazioni locali.
- A
FormsResult
parametro di output utilizzato per memorizzare il modulo di interactrive PDF.
Il
renderPDFForm2
il metodo restituisce unFormsResult
oggetto che contiene il modulo PDF interattivo. - A
-
Eseguire un'azione con il flusso di dati del modulo
- Creare un
BLOB
oggetto che contiene i dati del modulo ottenendo il valore diFormsResult
dell'oggettooutputContent
campo. - Creare un
System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che rappresenta la posizione del file del documento interattivo di PDF e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto della
BLOB
oggetto recuperato daFormsResult
oggetto. Popolare la matrice di byte ottenendo il valore dellaBLOB
dell'oggettoMTOM
membro dati. - Creare un
System.IO.BinaryWriter
oggetto richiamando il relativo costruttore e passando ilSystem.IO.FileStream
oggetto. - Scrivere il contenuto della matrice di byte in un file PDF richiamando
System.IO.BinaryWriter
dell'oggettoWrite
e passando la matrice di byte.
- Creare un
Consulta anche
Richiamare AEM Forms tramite MTOM