Importazione ed esportazione di dati importing-and-exporting-data
Gli esempi e gli esempi contenuti in questo documento sono solo per AEM Forms in ambiente JEE.
Informazioni sul servizio di integrazione dati modulo about-the-form-data-integration-service
Il servizio di integrazione dei dati del modulo può importare dati in un modulo PDF ed esportare dati da un modulo PDF. Le operazioni di importazione ed esportazione supportano due tipi di PDF forms:
- Un modulo di Acrobat (creato in Acrobat) è un documento PDF che contiene campi modulo.
- Un modulo XML di Adobe (creato in Designer) è un documento PDF conforme all'Adobe XML XML Forms Architecture (XFA).
I dati del modulo possono esistere in uno dei seguenti formati, a seconda del tipo di modulo PDF:
- Un file XFDF, una versione XML del formato dati del modulo Acrobat.
- Un file XDP, un file XML che contiene le definizioni dei campi modulo. Può anche contenere dati di campi modulo e un file PDF incorporato. Un file XDP generato da Designer può essere utilizzato solo se contiene un documento PDF con codifica base 64 incorporato.
Puoi eseguire queste attività utilizzando il servizio di integrazione dei dati del modulo:
- Importare dati nei PDF forms. Per informazioni, vedere Importazione dati modulo.
- Esporta dati dai PDF forms. Per informazioni, vedere Esportazione dati modulo.
Importazione dati modulo importing-form-data
Puoi importare i dati del modulo in PDF forms interattivi utilizzando il servizio Integrazione dati modulo. Un modulo PDF interattivo è un documento PDF che contiene uno o più campi per la raccolta di informazioni da un utente o la visualizzazione di informazioni personalizzate. Il servizio di integrazione dei dati del modulo non supporta i calcoli, la convalida o gli script dei moduli.
Per importare dati in un modulo creato in Designer, è necessario fare riferimento a un'origine dati XML XDP valida. Prendi in considerazione il seguente esempio di modulo di richiesta di mutuo.
Per importare i valori dei dati in questo modulo, è necessario disporre di un'origine dati XML XDP valida che corrisponda al modulo. Non è possibile utilizzare un'origine dati XML arbitraria per importare dati in un modulo utilizzando il servizio Integrazione dati modulo. La differenza tra un'origine dati XML arbitraria e un'origine dati XML XDP consiste nel fatto che un'origine dati XDP è conforme all'architettura XML Forms (XFA). Il codice XML seguente rappresenta un'origine dati XML XDP che corrisponde al modulo di applicazione ipotecaria di esempio.
<?xml version="1.0" encoding="UTF-8" ?>
- <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
- <xfa:data>
- <data>
- <Layer>
<closeDate>1/26/2007</closeDate>
<lastName>Johnson</lastName>
<firstName>Jerry</firstName>
<mailingAddress>JJohnson@NoMailServer.com</mailingAddress>
<city>New York</city>
<zipCode>00501</zipCode>
<state>NY</state>
<dateBirth>26/08/1973</dateBirth>
<middleInitials>D</middleInitials>
<socialSecurityNumber>(555) 555-5555</socialSecurityNumber>
<phoneNumber>5555550000</phoneNumber>
</Layer>
- <Mortgage>
<mortgageAmount>295000.00</mortgageAmount>
<monthlyMortgagePayment>1724.54</monthlyMortgagePayment>
<purchasePrice>300000</purchasePrice>
<downPayment>5000</downPayment>
<term>25</term>
<interestRate>5.00</interestRate>
</Mortgage>
</data>
</xfa:data>
</xfa:datasets>
Riepilogo dei passaggi summary-of-steps
Per importare i dati del modulo in un modulo PDF, effettuare le seguenti operazioni:
- Includi file di progetto.
- Creare un client del servizio di integrazione dei dati del modulo.
- Fai riferimento a un modulo di PDF.
- Fare riferimento a un'origine dati XML.
- Importare dati nel modulo PDF.
- Salvare il modulo PDF come file PDF.
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, accertati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è implementato su JBoss)
- jbossall-client.jar (obbligatorio se AEM Forms è distribuito su JBoss)
Per informazioni sul percorso di questi file JAR, vedi Inclusi i file della libreria Java di AEM Forms.
Creare un client del servizio di integrazione dati modulo
Prima di poter importare i dati in modo programmatico in un modulo PDF API client, è necessario creare un client del servizio di integrazione dati. Quando si crea un client di servizio, vengono definite le impostazioni di connessione necessarie per richiamare un servizio. Per informazioni, vedere Impostazione delle proprietà di connessione.
Fai riferimento a un modulo PDF
Per importare dati in un modulo PDF, è necessario fare riferimento a un modulo XML creato in Designer o a un modulo Acrobat creato in Acrobat.
Riferimento a un'origine dati XML
Per importare i dati del modulo, è necessario fare riferimento a un'origine dati valida. Per importare dati in un modulo XML XFA creato in Designer, è necessario utilizzare un'origine dati XML XDP. Se si fa riferimento a un modulo di Acrobat, è necessario utilizzare un'origine dati XFDF. Per ogni campo in cui si desidera importare i dati, è necessario specificare un valore. Se un elemento nell'origine dati XML non corrisponde a un campo nel modulo, l'elemento verrà ignorato.
Importa dati nel modulo PDF
Dopo aver fatto riferimento a un modulo PDF e a un'origine dati XML valida, è possibile importare i dati nel modulo PDF.
Salvare il modulo PDF come file PDF
Dopo aver importato i dati in un modulo, è possibile salvarlo come file PDF. Una volta salvato come file PDF, l’utente può aprire il modulo in Adobe Reader o Acrobat e visualizzarlo con i dati importati.
Consulta anche
Importare dati modulo tramite API Java
Importare dati modulo utilizzando l’API del servizio web
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Importare dati modulo tramite API Java import-form-data-using-the-java-api
Importa i dati del modulo utilizzando l’API di integrazione dei dati del modulo (Java):
-
Includi file di progetto.
Includi i file JAR client, ad esempio adobe-formdataintegration-client.jar, nel percorso di classe del progetto Java.
-
Creare un client del servizio di integrazione dei dati del modulo.
- Creare un oggetto
ServiceClientFactory
contenente le proprietà di connessione. - Creare un oggetto
FormDataIntegrationClient
utilizzando il relativo costruttore e passando l'oggettoServiceClientFactory
.
- Creare un oggetto
-
Fai riferimento a un modulo di PDF.
- Creare un oggetto
java.io.FileInputStream
utilizzando il relativo costruttore. Passa un valore stringa che specifica la posizione del modulo PDF. - Creare un oggetto
com.adobe.idp.Document
che memorizza il modulo PDF utilizzando il costruttorecom.adobe.idp.Document
. Passa l'oggettojava.io.FileInputStream
che contiene il modulo PDF al costruttore.
- Creare un oggetto
-
Fare riferimento a un'origine dati XML.
- Creare un oggetto
java.io.FileInputStream
utilizzando il relativo costruttore e passare un valore stringa che specifichi la posizione del file XML contenente i dati da importare nel modulo. - Creare un oggetto
com.adobe.idp.Document
che memorizza i dati del modulo utilizzando il costruttorecom.adobe.idp.Document
. Passa al costruttore l'oggettojava.io.FileInputStream
contenente i dati del modulo.
- Creare un oggetto
-
Importare dati nel modulo PDF.
Importare i dati nel modulo PDF richiamando il metodo
importData
dell'oggettoFormDataIntegrationClient
e passando i valori seguenti:- L'oggetto
com.adobe.idp.Document
che memorizza il modulo PDF. - L'oggetto
com.adobe.idp.Document
che memorizza i dati del modulo.
Il metodo
importData
restituisce un oggettocom.adobe.idp.Document
che memorizza un modulo PDF contenente i dati nell'origine dati XML. - L'oggetto
-
Salvare il modulo PDF come file PDF.
- Creare un oggetto
java.io.File
e verificare che l'estensione del file sia ".PDF". - Richiamare il metodo
copyToFile
dell'oggettoDocument
per copiare il contenuto dell'oggettoDocument
nel file (assicurarsi di utilizzare l'oggettoDocument
restituito dal metodoimportData
).
- Creare un oggetto
Consulta anche
Quick Start (modalità SOAP): importazione di dati dai moduli tramite API Java
Importare dati modulo utilizzando l’API del servizio web import-form-data-using-the-web-service-api
Importa i dati del modulo utilizzando l’API di integrazione dei dati del modulo (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.note note NOTE Sostituisci localhost
con l'indirizzo IP del server che ospita AEM Forms. -
Creare un client del servizio di integrazione dei dati del modulo.
-
Creare un oggetto
FormDataIntegrationClient
utilizzando il relativo costruttore predefinito. -
Creare un oggetto
FormDataIntegrationClient.Endpoint.Address
utilizzando il costruttoreSystem.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Non è necessario utilizzare l'attributolc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specificare?blob=mtom
per utilizzare MTOM. -
Creare un oggetto
System.ServiceModel.BasicHttpBinding
ottenendo il valore del campoFormDataIntegrationClient.Endpoint.Binding
. Eseguire il cast del valore restituito inBasicHttpBinding
. -
Impostare il campo
MessageEncoding
dell'oggettoSystem.ServiceModel.BasicHttpBinding
suWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente dei moduli AEM al campo
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Assegnare il valore della password corrispondente al campo
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Assegnare il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegnare il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegnare il nome utente dei moduli AEM al campo
-
-
Fai riferimento a un modulo di PDF.
- Creare un oggetto
BLOB
utilizzando il relativo costruttore. Questo oggettoBLOB
viene utilizzato per memorizzare il modulo PDF. - Creare un oggetto
System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che specifica la posizione del modulo PDF e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
System.IO.FileStream
. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietàLength
dell'oggettoSystem.IO.FileStream
. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Read
dell'oggettoSystem.IO.FileStream
. Passare la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOB
assegnando il relativo campoMTOM
al contenuto della matrice di byte.
- Creare un oggetto
-
Fare riferimento a un'origine dati XML.
- Creare un oggetto
BLOB
utilizzando il relativo costruttore. Questo oggettoBLOB
viene utilizzato per memorizzare i dati importati nel modulo. - Creare un oggetto
System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che specifica la posizione del file XML contenente i dati da importare e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
System.IO.FileStream
. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietàLength
dell'oggettoSystem.IO.FileStream
. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Read
dell'oggettoSystem.IO.FileStream
. Passare la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOB
assegnando il relativo campoMTOM
al contenuto della matrice di byte.
- Creare un oggetto
-
Importare dati nel modulo PDF.
Importare i dati nel modulo PDF richiamando il metodo
importData
dell'oggettoFormDataIntegrationClient
e passando i valori seguenti:- L'oggetto
BLOB
che memorizza il modulo PDF. - L'oggetto
BLOB
che memorizza i dati del modulo.
Il metodo
importData
restituisce un oggettoBLOB
che memorizza un modulo PDF contenente i dati nell'origine dati XML. - L'oggetto
-
Salvare il modulo PDF come file PDF.
- Creare un oggetto
System.IO.FileStream
richiamandone il costruttore e passando un valore stringa che rappresenta la posizione del file PDF. - Creare una matrice di byte che memorizza il contenuto dei dati dell'oggetto
BLOB
restituito dal metodoimportData
. Compilare la matrice di byte ottenendo il valore del campoMTOM
dell'oggettoBLOB
. - Creare un oggetto
System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggettoSystem.IO.FileStream
. - Scrivere il contenuto della matrice di byte in un file PDF richiamando il metodo
Write
dell'oggettoSystem.IO.BinaryWriter
e passando la matrice di byte.
- Creare un oggetto
Consulta anche
Esportazione dati modulo exporting-form-data
Puoi esportare i dati di un modulo PDF interattivo utilizzando il servizio Integrazione dati modulo. Il formato dei dati esportati dipende dal tipo di modulo. Se il tipo di modulo è un modulo di Acrobat creato in Acrobat, i dati esportati sono XFDF. Se il tipo di modulo è un modulo XML creato in Designer, i dati esportati saranno XDP.
Riepilogo dei passaggi summary_of_steps-1
Per esportare i dati di un modulo PDF, effettuare le seguenti operazioni:
- Includi file di progetto
- Creare un client del servizio di integrazione dei dati del modulo.
- Fai riferimento a un modulo di PDF.
- Esporta dati dal modulo PDF.
- Salvare i dati esportati come file XML.
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, accertati di includere i file proxy.
I seguenti file JAR devono essere aggiunti al percorso di classe del progetto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (richiesto se AEM Forms è implementato su JBoss)
- jbossall-client.jar (obbligatorio se AEM Forms è distribuito su JBoss)
Creare un client del servizio di integrazione dati modulo
Prima di poter importare i dati a livello di programmazione in un’API PDF formClient, è necessario creare un client del servizio di integrazione dei dati. Quando si crea un client di servizio, vengono definite le impostazioni di connessione necessarie per richiamare un servizio. Per informazioni, Impostazione delle proprietà di connessione.
Fai riferimento a un modulo PDF
Per esportare dati da un modulo PDF, è necessario fare riferimento a un modulo PDF creato in Designer o Acrobat e contenente dati del modulo. Se si tenta di esportare dati da un modulo PDF vuoto, si otterrà uno schema XML vuoto.
Esporta dati dal modulo PDF
Dopo aver fatto riferimento a un modulo PDF contenente dati del modulo, è possibile esportare i dati dal modulo. I dati vengono esportati all'interno di uno schema XML basato sul modulo.
Salvare i dati del modulo come file XML
Dopo aver esportato i dati del modulo, è possibile salvarli come file XML. Una volta salvato come file XML, è possibile aprire il file XML all'interno di un visualizzatore XML per visualizzare i dati del modulo.
Consulta anche
Esportare i dati del modulo utilizzando l’API Java
Esportare i dati del modulo utilizzando l’API del servizio web
Inclusione dei file della libreria Java di AEM Forms
Impostazione delle proprietà di connessione
Esportare i dati del modulo utilizzando l’API Java export-form-data-using-the-java-api
Esporta i dati del modulo utilizzando l’API di integrazione dei dati del modulo (Java):
-
Includi file di progetto.
Includi i file JAR client, ad esempio adobe-formdataintegration-client.jar, nel percorso di classe del progetto Java.
-
Creare un client del servizio di integrazione dei dati del modulo.
- Creare un oggetto
ServiceClientFactory
contenente le proprietà di connessione. - Creare un oggetto
FormDataIntegrationClient
utilizzando il relativo costruttore e passando l'oggettoServiceClientFactory
.
- Creare un oggetto
-
Fai riferimento a un modulo di PDF.
- Creare un oggetto
java.io.FileInputStream
utilizzando il relativo costruttore e passare un valore stringa che specifichi la posizione del modulo PDF contenente i dati da esportare. - Creare un oggetto
com.adobe.idp.Document
che memorizza il modulo PDF utilizzando il costruttorecom.adobe.idp.Document
. Passa l'oggettojava.io.FileInputStream
che contiene il modulo PDF al costruttore.
- Creare un oggetto
-
Esporta dati dal modulo PDF.
Esporta i dati del modulo richiamando il metodo
exportData
dell'oggettoFormDataIntegrationClient
e passa l'oggettocom.adobe.idp.Document
che memorizza il modulo PDF. Questo metodo restituisce un oggettocom.adobe.idp.Document
che memorizza i dati del modulo come schema XML. -
Salvare il modulo PDF come file PDF.
- Creare un oggetto
java.io.File
e verificare che l'estensione del file sia XML. - Richiamare il metodo
copyToFile
dell'oggettoDocument
per copiare il contenuto dell'oggettoDocument
nel file (assicurarsi di utilizzare l'oggettoDocument
restituito dal metodoexportData
).
- Creare un oggetto
Consulta anche
Quick Start (modalità SOAP): esportazione di dati modulo tramite API Java
Esportare i dati del modulo utilizzando l’API del servizio web export-form-data-using-the-web-service-api
Esporta i dati del modulo utilizzando l’API di integrazione dei dati del modulo (servizio web):
-
Includi file di progetto.
Creare un progetto Microsoft .NET che utilizza MTOM. Assicurarsi di utilizzare la seguente definizione WSDL:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.- Sostituisci
localhost
con l'indirizzo IP del server che ospita AEM Forms.
- Sostituisci
-
Creare un client del servizio di integrazione dei dati del modulo.
-
Creare un oggetto
FormDataIntegrationClient
utilizzando il relativo costruttore predefinito. -
Creare un oggetto
FormDataIntegrationClient.Endpoint.Address
utilizzando il costruttoreSystem.ServiceModel.EndpointAddress
. Passa un valore stringa che specifica il WSDL al servizio AEM Forms (ad esempio,http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Non è necessario utilizzare l'attributolc_version
. Questo attributo viene utilizzato quando si crea un riferimento a un servizio. Tuttavia, specificare?blob=mtom
per utilizzare MTOM. -
Creare un oggetto
System.ServiceModel.BasicHttpBinding
ottenendo il valore del campoFormDataIntegrationClient.Endpoint.Binding
. Eseguire il cast del valore restituito inBasicHttpBinding
. -
Impostare il campo
MessageEncoding
dell'oggettoSystem.ServiceModel.BasicHttpBinding
suWSMessageEncoding.Mtom
. Questo valore assicura che venga utilizzato MTOM. -
Abilita l’autenticazione HTTP di base eseguendo le seguenti attività:
- Assegnare il nome utente dei moduli AEM al campo
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Assegnare il valore della password corrispondente al campo
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Assegnare il valore costante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Assegnare il valore costante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- Assegnare il nome utente dei moduli AEM al campo
-
-
Fai riferimento a un modulo di PDF.
- Creare un oggetto
BLOB
utilizzando il relativo costruttore. Questo oggettoBLOB
viene utilizzato per memorizzare il modulo PDF da cui vengono esportati i dati. - Creare un oggetto
System.IO.FileStream
richiamando il relativo costruttore. Passa un valore stringa che specifica la posizione del modulo PDF e la modalità di apertura del file. - Creare una matrice di byte che memorizza il contenuto dell'oggetto
System.IO.FileStream
. È possibile determinare le dimensioni della matrice di byte ottenendo la proprietàLength
dell'oggettoSystem.IO.FileStream
. - Compilare la matrice di byte con i dati di flusso richiamando il metodo
Read
dell'oggettoSystem.IO.FileStream
e passando la matrice di byte, la posizione iniziale e la lunghezza del flusso da leggere. - Compilare l'oggetto
BLOB
assegnando il relativo campoMTOM
al contenuto della matrice di byte.
- Creare un oggetto
-
Esporta dati dal modulo PDF.
Importare i dati nel modulo PDF richiamando il metodo
exportData
dell'oggettoFormDataIntegrationClient
e passare l'oggettoBLOB
che memorizza il modulo PDF. Questo metodo restituisce un oggettoBLOB
che memorizza i dati del modulo come schema XML. -
Salvare il modulo PDF come file PDF.
- Creare un oggetto
System.IO.FileStream
richiamandone il costruttore e passando un valore stringa che rappresenta la posizione del file XML. - Creare una matrice di byte che memorizza il contenuto dei dati dell'oggetto
BLOB
restituito dal metodoexportData
. Compilare la matrice di byte ottenendo il valore del campoMTOM
dell'oggettoBLOB
. - Creare un oggetto
System.IO.BinaryWriter
richiamandone il costruttore e passando l'oggettoSystem.IO.FileStream
. - Scrivere il contenuto della matrice di byte in un file XML richiamando il metodo
Write
dell'oggettoSystem.IO.BinaryWriter
e passando la matrice di byte.
- Creare un oggetto
Consulta anche
Richiamare AEM Forms tramite MTOM
Richiamare AEM Forms con SwaRef