Die Beispiele in diesem Dokument gelten nur für eine AEM Forms on JEE-Umgebung.
Der Form Data Integration-Service erlaubt sowohl das Importieren von Daten in ein PDF-Formular als auch das Exportieren von Daten aus einem PDF-Formular. Für das Importieren und Exportieren werden zwei PDF-Formulartypen unterstützt:
Je nach PDF-Formulartyp können Formulardaten in einem der folgenden Formate vorliegen:
Sie können diese Aufgaben mit dem Form Data Integration-Service erledigen:
Weitere Informationen zum Form Data Integration-Service finden Sie in der Service-Referenz für AEM Forms.
Sie können Formulardaten in interaktive PDF-Formulare importieren, indem Sie den Form Data Integration-Service verwenden. Ein interaktives PDF-Formular ist ein PDF-Dokument, das ein oder mehrere Felder zum Sammeln von Informationen von einem Benutzer oder zum Anzeigen von benutzerdefinierten Informationen enthält. Der Form Data Integration-Service unterstützt keine Berechnungen, Validierungen oder Skripts in Formularen.
Um Daten in ein Formular zu importieren, das in Designer erstellt wurde, müssen Sie eine gültige XDP-XML-Datenquelle angeben. Schauen wir uns einmal das folgende Formular für einen Kreditantrag als Beispiel an.
Um Datenwerte in dieses Formular zu importieren, müssen Sie über eine gültige XDP XML-Datenquelle verfügen, die dem Formular entspricht. Sie können keine beliebige XML-Datenquelle verwenden, um Daten mithilfe des Form Data Integration-Services in ein Formular zu importieren. Der Unterschied zwischen einer beliebigen XML-Datenquelle und einer XDP-XML-Datenquelle besteht darin, dass eine XDP-Datenquelle der XML Forms Architecture (XFA) entspricht. Die folgende XML-Datei stellt eine XDP-XML-Datenquelle dar, die dem Beispielformular für einen Hypothekenantrag entspricht.
<?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>
Weitere Informationen zum Form Data Integration-Service finden Sie in der Service-Referenz für AEM Forms.
Führen Sie die folgenden Schritte aus, um Daten in ein PDF-Formular zu importieren:
Projektdateien einschließen
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie ein Client-Programm mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Web-Services verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Weitere Informationen über den Speicherort dieser JAR-Dateien finden Sie unter Einbeziehung von AEM Forms Java-Bibliotheksdateien.
Erstellen eines Clients für den Form Data Integration-Service
Bevor Sie Daten programmgesteuert in eine PDF-Formular-Client-API importieren können, müssen Sie einen Client für den Data Integration-Service erstellen. Beim Erstellen eines Service-Clients bestimmen Sie Verbindungseinstellungen, die zum Aufrufen eines Services erforderlich sind. Weitere Informationen finden Sie unter Einrichten von Verbindungseigenschaften.
Referenzieren eines PDF-Formulars
Um Daten in ein PDF-Formular zu importieren, müssen Sie entweder auf ein in Designer erstelltes XML-Formular oder auf ein in Acrobat erstelltes Acrobat-Formular verweisen.
Referenzieren einer XML-Datenquelle
Um Formulardaten zu importieren, müssen Sie auf eine gültige Datenquelle verweisen. Um Daten in ein in Designer erstelltes XFA-XML-Formular zu importieren, müssen Sie eine XDP-XML-Datenquelle verwenden. Wenn Sie auf ein Acrobat-Formular verweisen, müssen Sie eine XFDF-Datenquelle verwenden. Sie müssen für jedes Feld, in das Sie Daten importieren möchten, einen Wert angeben. Wenn ein Element in der XML-Datenquelle keinem Feld im Formular entspricht, wird das Element ignoriert.
Importieren der Daten in das PDF-Formular
Nachdem Sie ein PDF-Formular und eine gültige XML-Datenquelle angegeben haben, können Sie die Daten in das PDF-Formular importieren.
Speichern des Formulars als PDF-Datei
Nachdem Sie Daten in ein Formular importiert haben, können Sie das Formular als PDF-Datei speichern. Nachdem Sie das Formular als PDF-Datei gespeichert haben, kann ein Benutzer das Formular in Adobe Reader oder Acrobat öffnen, um die darin importierten Daten zu sehen.
Siehe auch
Importieren von Formulardaten mit der Java-API
Importieren von Formulardaten mit der Web-Service-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Lernprogramme zur Form Data Integration-Service-API
Importieren von Formulardaten mit der Form Data Integration-API (Java):
Schließen Sie Projektdateien ein.
Fügen Sie Client-JAR-Dateien wie „adobe-formdataintegration-client.jar“ in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Client für den Form Data Integration-Service.
ServiceClientFactory
-Objekt, das Verbindungseigenschaften enthält.FormDataIntegrationClient
-Objekt, indem Sie seinen Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Referenzieren Sie ein PDF-Formular.
java.io.FileInputStream
, indem Sie den Konstruktor verwenden. Übergeben Sie einen Zeichenfolgenwert, der den Ort angibt, an dem das PDF-Formular gespeichert ist.com.adobe.idp.Document
-Konstruktor, um ein com.adobe.idp.Document
-Objekt zu erstellen, in dem das PDF-Formular gespeichert wird. Übergeben Sie das java.io.FileInputStream
-Objekt mit dem PDF-Formular an den Konstruktor.Referenzieren Sie eine XML-Datenquelle.
java.io.FileInputStream
-Objekt, indem Sie seinen Konstruktor verwenden und übergeben Sie einen Zeichenfolgenwert, der den Speicherort der XML-Datei angibt, die in das Formular zu importierende Daten enthält.com.adobe.idp.Document
-Konstruktor, um ein com.adobe.idp.Document
-Objekt zu erstellen, das Formulardaten speichert. Übergeben Sie das java.io.FileInputStream
-Objekt mit Formulardaten an den Konstruktor.Importieren von Daten in das PDF-Formular.
Importieren Sie Daten in das PDF-Formular, indem Sie die importData
-Methode des FormDataIntegrationClient
-Objekts aufrufen und die folgenden Werte übergeben:
com.adobe.idp.Document
-Objekt, in dem das PDF-Formular gespeichert wird.com.adobe.idp.Document
-Objekt, in dem Formulardaten gespeichert werden.Die importData
-Methode gibt eine com.adobe.idp.Document
-Objekt, das ein PDF-Formular speichert, das die Daten in der XML-Datenquelle enthält.
Speichern Sie das Formular als PDF-Datei.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateierweiterung „.PDF“ lautet.copyToFile
-Methode des Document
-Objekts auf, um den Inhalt des Document
-Objekts in die Datei zu kopieren (stellen Sie sicher, dass Sie das Document
-Objekt verwenden, das von der importData
-Methode zurückgegeben wurde).Siehe auch
Schnellstart (SOAP-Modus): Importieren von Formulardaten mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Importieren von Formulardaten mithilfe der Form Data Integration-API (Web-Service):
Schließen Sie Projektdateien ein.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
Ersetzen Sie localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.
Erstellen Sie einen Client für den Form Data Integration-Service.
Erstellen Sie ein FormDataIntegrationClient
-Objekt, indem Sie seinen standardmäßigen Konstruktor verwenden.
Erstellen Sie ein FormDataIntegrationClient.Endpoint.Address
-Objekt, indem Sie den Konstruktor System.ServiceModel.EndpointAddress
verwenden. Übergeben Sie einen Zeichenfolgenwert, der die WSDL für den AEM Forms-Service angibt (z. B. http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Sie müssen das lc_version
-Attribut nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Servicereferenz erstellen. Geben Sie jedoch ?blob=mtom
an, um MTOM zu verwenden.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des FormDataIntegrationClient.Endpoint.Binding
-Felds abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie das MessageEncoding
-Feld des System.ServiceModel.BasicHttpBinding
-Objekts auf WSMessageEncoding.Mtom
fest. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Schritte ausführen:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.FormDataIntegrationClient.ClientCredentials.UserName.Password
den entsprechenden Passwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den konstanten Wert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den konstanten Wert BasicHttpSecurityMode.TransportCredentialOnly
zu.Referenzieren Sie ein PDF-Formular.
BLOB
, indem Sie den Konstruktor verwenden. Dieses BLOB
-Objekt wird zum Speichern des PDF-Formulars verwendet.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor verwenden. Übergeben Sie einen Zeichenfolgenwert, der den Speicherort des PDF-Formulars und den Modus angibt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekts speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die Eigenschaft Length
des System.IO.FileStream
-Objekts abrufen.Read
des System.IO.FileStream
-Objekts aufrufen. Übergeben Sie das Byte-Array, die Startposition und die zu lesende Datenstromlänge.BLOB
-Objekt, indem Sie seinem MTOM
-Feld die Inhalte des Byte-Arrays zuweisen.Referenzieren Sie eine XML-Datenquelle.
BLOB
, indem Sie den Konstruktor verwenden. Dieses BLOB
-Objekt wird verwendet, um die in das Formular importierten Daten zu speichern.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor verwenden. Übergeben Sie einen Zeichenfolgenwert, der den Speicherort der XML-Datei angibt, in der sich Daten befinden, die importiert werden sollen, sowie den Modus, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekts gespeichert wird. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die Eigenschaft Length
des System.IO.FileStream
-Objekts abrufen.Read
des System.IO.FileStream
-Objekts aufrufen. Übergeben Sie das Byte-Array, die Startposition und die zu lesende Datenstromlänge.BLOB
-Objekt, indem Sie seinem MTOM
-Feld die Inhalte des Byte-Arrays zuweisen.Importieren von Daten in das PDF-Formular.
Importieren Sie Daten in das PDF-Formular, indem Sie die importData
-Methode des FormDataIntegrationClient
-Objekts aufrufen und die folgenden Werte übergeben:
BLOB
-Objekt, in dem das PDF-Formular gespeichert wird.BLOB
-Objekt, in dem Formulardaten gespeichert werden.Die importData
-Methode gibt eine BLOB
-Objekt, das ein PDF-Formular speichert, das die Daten in der XML-Datenquelle enthält.
Speichern Sie das Formular als PDF-Datei.
System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Ort angibt, an dem die PDF-Datei gespeichert ist.importData
-Methode zurückgegebenen Daten aus dem BLOB
-Objekt aufnimmt. Füllen Sie das Byte-Array, indem Sie den Wert aus dem MTOM
-Feld des BLOB
-Objekts abrufen.System.IO.BinaryWriter
-Objekt, indem Sie seinen Konstruktor verwenden und das System.IO.FileStream
-Objekt übergeben.Write
des System.IO.BinaryWriter
-Objekts aufrufen und das Byte-Array übergeben.Siehe auch
AEM Forms mithilfe von MTOM aufrufen
Sie können Formulardaten aus einem interaktiven PDF-Formular mithilfe des Form Data Integration-Services exportieren. Das Format der exportierten Daten hängt vom Formulartyp ab. Wenn das Formular ein in Acrobat erstelltes Acrobat-Formular ist, dann werden die Daten im XFDF-Format exportiert. Wenn das Formular ein in Designer erstelltes XML-Formular ist, dann werden die Daten im XDP-Format exportiert.
Weitere Informationen zum Form Data Integration-Service finden Sie in der Service-Referenz für AEM Forms.
Führen Sie die folgenden Schritte aus, um Daten aus einem PDF-Formular zu exportieren:
Einschließen von Projektdateien
Schließen Sie die erforderlichen Dateien in Ihr Entwicklungsprojekt ein. Wenn Sie ein Client-Programm mit Java erstellen, schließen Sie die erforderlichen JAR-Dateien ein. Wenn Sie Web-Services verwenden, stellen Sie sicher, dass Sie die Proxy-Dateien einschließen.
Die folgenden JAR-Dateien müssen zum Klassenpfad Ihres Projekts hinzugefügt werden:
Erstellen eines Clients für den Form Data Integration-Service
Bevor Sie Daten programmgesteuert in eine PDF FormClient-API importieren können, müssen Sie einen Client für den Data Integration Service erstellen. Beim Erstellen eines Service-Clients bestimmen Sie Verbindungseinstellungen, die zum Aufrufen eines Services erforderlich sind. Für weitere Informationen: Einrichten von Verbindungseigenschaften.
Referenzieren eines PDF-Formulars
Um Daten aus einem PDF-Formular zu exportieren, müssen Sie auf ein in Designer oder Acrobat erstelltes PDF-Formular verweisen, das die Formulardaten enthält. Wenn Sie versuchen, Daten aus einem leeren PDF-Formular zu exportieren, erhalten Sie ein leeres XML-Schema.
Exportieren von Daten aus dem PDF-Formular
Nachdem Sie auf ein PDF-Formular verwiesen haben, das Formulardaten enthält, können Sie diese exportieren. Die Daten werden in ein XML-Schema exportiert, das auf dem Formular basiert.
Die Formulardaten als XML-Datei speichern
Nach dem Exportieren von Formulardaten können Sie diese als XML-Datei speichern. Sobald Sie die Daten als XML-Datei gespeichert haben, können Sie diese in einem XML-Betrachter öffnen, um die Formulardaten anzuzeigen.
Siehe auch
Exportieren von Formulardaten mit der Java-API
Exportieren von Formulardaten mit der Web-Service-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Lernprogramme zur Form Data Integration-Service-API
Exportieren Sie Formulardaten mithilfe der Form Data Integration API (Java):
Schließen Sie Projektdateien ein.
Fügen Sie Client-JAR-Dateien wie „adobe-formdataintegration-client.jar“ in den Klassenpfad Ihres Java-Projekts ein.
Erstellen Sie einen Client für den Form Data Integration-Service.
ServiceClientFactory
-Objekt, das Verbindungseigenschaften enthält.FormDataIntegrationClient
-Objekt, indem Sie seinen Konstruktor verwenden und das ServiceClientFactory
-Objekt übergeben.Referenzieren Sie ein PDF-Formular.
java.io.FileInputStream
-Objekt, indem Sie dessen Konstruktor verwenden und übergeben Sie eine Zeichenfolge, die den Speicherort des zu exportierenden PDF-Formulars angibt.com.adobe.idp.Document
-Konstruktors ein com.adobe.idp.Document
-Objekt, in dem das PDF-Formular gespeichert wird. Übergeben Sie an den Konstruktor das java.io.FileInputStream
-Objekt, in dem das PDF-Formular enthalten ist.Exportieren Sie Daten aus dem PDF-Formular.
Exportieren Sie Formulardaten, indem Sie die exportData
-Methode des FormDataIntegrationClient
-Objekts aufrufen und das com.adobe.idp.Document
-Objekt übergeben, in dem das PDF-Formular gespeichert ist. Diese Methode gibt ein com.adobe.idp.Document
-Objekt zurück, in dem Formulardaten als XML-Schema gespeichert werden.
Speichern Sie das Formular als PDF-Datei.
java.io.File
-Objekt und stellen Sie sicher, dass die Dateierweiterung .xml ist.copyToFile
-Methode des Document
-Objekts auf, um die Inhalte des Document
-Objekts in die Datei zu kopieren (stellen Sie sicher, dass Sie das Document
-Objekt verwenden, das von der exportData
-Methode zurückgegeben wurde).Siehe auch
Schnellstart (SOAP-Modus): Exportieren von Formulardaten mit der Java-API
Einbeziehung von AEM Forms Java-Bibliotheksdateien
Verbindungseigenschaften festlegen
Exportieren von Formulardaten mithilfe der Form Data Integration-API (Web-Service):
Schließen Sie Projektdateien ein.
Erstellen Sie ein Microsoft .NET-Projekt, das MTOM verwendet. Stellen Sie sicher, dass Sie die folgende WSDL-Definition verwenden: http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.
localhost
mit der IP-Adresse des Servers, auf dem AEM Forms gehostet wird.Erstellen Sie einen Client für den Form Data Integration-Service.
Erstellen Sie ein FormDataIntegrationClient
-Objekt, indem Sie seinen standardmäßigen Konstruktor verwenden.
Erstellen Sie ein FormDataIntegrationClient.Endpoint.Address
-Objekt, indem Sie den Konstruktor System.ServiceModel.EndpointAddress
verwenden. Übergeben Sie einen Zeichenfolgenwert, der die WSDL für den AEM Forms-Service angibt (z. B. http://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Sie müssen das lc_version
-Attribut nicht verwenden. Dieses Attribut wird verwendet, wenn Sie eine Servicereferenz erstellen. Geben Sie jedoch ?blob=mtom
an, um MTOM zu verwenden.
Erstellen Sie ein System.ServiceModel.BasicHttpBinding
-Objekt, indem Sie den Wert des FormDataIntegrationClient.Endpoint.Binding
-Felds abrufen. Wandeln Sie den Rückgabewert in BasicHttpBinding
um.
Legen Sie das MessageEncoding
-Feld des System.ServiceModel.BasicHttpBinding
-Objekts auf WSMessageEncoding.Mtom
fest. Dieser Wert stellt sicher, dass MTOM verwendet wird.
Aktivieren Sie die einfache HTTP-Authentifizierung, indem Sie die folgenden Schritte ausführen:
FormDataIntegrationClient.ClientCredentials.UserName.UserName
den AEM Forms-Benutzernamen zu.FormDataIntegrationClient.ClientCredentials.UserName.Password
den entsprechenden Passwortwert zu.BasicHttpBindingSecurity.Transport.ClientCredentialType
den konstanten Wert HttpClientCredentialType.Basic
zu.BasicHttpBindingSecurity.Security.Mode
den konstanten Wert BasicHttpSecurityMode.TransportCredentialOnly
zu.Referenzieren Sie ein PDF-Formular.
BLOB
, indem Sie den Konstruktor verwenden. Dieses BLOB
-Objekt wird verwendet, um das PDF-Formular zu speichern, aus dem Daten exportiert werden.System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor verwenden. Übergeben Sie einen Zeichenfolgenwert, der den Speicherort des PDF-Formulars und den Modus angibt, in dem die Datei geöffnet werden soll.System.IO.FileStream
-Objekts speichert. Sie können die Größe des Byte-Arrays bestimmen, indem Sie die Length
-Eigenschaft des System.IO.FileStream
-Objekts abrufen.Read
-Methode des System.IO.FileStream
-Objekts aufrufen und ihr das Byte-Array, die Startposition und die zu lesende Datenstromlänge übergeben.BLOB
-Objekt, indem Sie die Inhalte des Byte-Arrays seinem MTOM
-Feld zuweisen.Exportieren Sie Daten aus dem PDF-Formular.
Importieren Sie Daten in das PDF-Formular, indem Sie die exportData
-Methode des FormDataIntegrationClient
-Objekts aufrufen und das BLOB
-Objekt übergeben, in dem das PDF-Formular gespeichert ist. Diese Methode gibt ein BLOB
-Objekt zurück, in dem Formulardaten als XML-Schema gespeichert werden.
Speichern Sie das Formular als PDF-Datei.
System.IO.FileStream
-Objekt, indem Sie seinen Konstruktor aufrufen und einen Zeichenfolgenwert übergeben, der den Speicherort der XML-Datei darstellt.BLOB
-Objekt gespeichert wird, das von der exportData
-Methode zurückgegeben wird. Füllen Sie das Byte-Array, indem Sie den Wert aus dem MTOM
-Feld des BLOB
-Objekts abrufen.System.IO.BinaryWriter
-Objekt, indem Sie seinen Konstruktor verwenden und das System.IO.FileStream
-Objekt übergeben.Write
-Methode des System.IO.BinaryWriter
-Objekts aufrufen und das Byte-Array übergeben.Siehe auch