Importera och exportera data
- Gäller:
- Experience Manager 6.5
Skapat för:
- Utvecklare
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Om tjänsten för integrering av formulärdata
Tjänsten för integrering av formulärdata kan importera data till ett PDF-formulär och exportera data från ett PDF-formulär. Import- och exportåtgärderna stöder två typer av PDF forms:
- Ett Acrobat-formulär (skapat i Acrobat) är ett PDF-dokument som innehåller formulärfält.
- Ett Adobe XML-formulär (som skapats i Designer) är ett PDF-dokument som överensstämmer med XML-arkitekturen i Forms (XFA) för XML Adobe.
Formulärdata kan finnas i något av följande format beroende på vilken typ av PDF-formulär det är:
- En XFDF-fil, som är en XML-version av Acrobat formulärdataformat.
- En XDP-fil, som är en XML-fil som innehåller formulärfältsdefinitioner. Den kan också innehålla formulärfältdata och en inbäddad PDF-fil. En XDP-fil som genererats av Designer kan bara användas om den innehåller ett inbäddat base-64-kodat PDF-dokument.
Du kan utföra dessa uppgifter med hjälp av tjänsten för integrering av formulärdata:
- Importera data till PDF forms. Mer information finns i Importera formulärdata.
- Exportera data från PDF forms. Mer information finns i Exportera formulärdata.
Importera formulärdata
Du kan importera formulärdata till interaktiva PDF forms med hjälp av tjänsten för integrering av formulärdata. Ett interaktivt PDF-formulär är ett PDF-dokument som innehåller ett eller flera fält för att samla in information från en användare eller för att visa anpassad information. Tjänsten Form Data Integration stöder inte formulärberäkningar, validering eller skript.
Om du vill importera data till ett formulär som skapats i Designer måste du referera till en giltig XDP XML-datakälla. Titta på följande exempelformulär för låneansökan.
Om du vill importera datavärden till det här formuläret måste du ha en giltig XDP XML-datakälla som motsvarar formuläret. Du kan inte använda en godtycklig XML-datakälla för att importera data till ett formulär med hjälp av tjänsten för integrering av formulärdata. Skillnaden mellan en godtycklig XML-datakälla och en XDP XML-datakälla är att en XDP-datakälla överensstämmer med XML Forms Architecture (XFA). Följande XML representerar en XDP XML-datakälla som motsvarar exempelformuläret för låneansökan.
<?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>
Sammanfattning av steg
Så här importerar du formulärdata till ett PDF-formulär:
- Inkludera projektfiler.
- Skapa en tjänstklient för integrering av formulärdata.
- Referera till ett PDF-formulär.
- Referera till en XML-datakälla.
- Importera data till PDF-formuläret.
- Spara PDF-formuläret som en PDF-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klassökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms distribueras på JBoss)
Mer information om platsen för dessa JAR-filer finns i Inkludera AEM Forms Java-biblioteksfiler.
Skapa en tjänstklient för integrering av formulärdata
Innan du programmässigt kan importera data till ett klient-API i PDF måste du skapa en dataintegreringstjänstklient. När du skapar en tjänstklient definierar du de anslutningsinställningar som krävs för att anropa en tjänst. Mer information finns i Ange anslutningsegenskaper.
Referera till ett PDF-formulär
Om du vill importera data till ett PDF-formulär måste du referera till antingen ett XML-formulär som har skapats i Designer eller ett Acrobat-formulär som har skapats i Acrobat.
Referera till en XML-datakälla
Om du vill importera formulärdata måste du referera till en giltig datakälla. Om du vill importera data till ett XFA XML-formulär som skapats i Designer måste du använda en XDP XML-datakälla. Om du refererar till ett Acrobat-formulär måste du använda en XFDF-datakälla. För varje fält som du vill importera data till måste du ange ett värde. Om ett element i XML-datakällan inte motsvarar ett fält i formuläret, ignoreras elementet.
Importera data till formuläret PDF
När du har angett en referens för ett PDF-formulär och en giltig XML-datakälla kan du importera data till PDF-formuläret.
Spara PDF-formuläret som en PDF-fil
När du har importerat data till ett formulär kan du spara formuläret som en PDF-fil. När formuläret har sparats som en PDF-fil kan användaren öppna det i Adobe Reader eller Acrobat och se formuläret med importerade data.
Se även
Importera formulärdata med Java API
Importera formulärdata med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Importera formulärdata med Java API
Importera formulärdata med hjälp av API:t för integrering av formulärdata (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-formdataintegration-client.jar, i Java-projektets klassökväg.
-
Skapa en tjänstklient för integrering av formulärdata.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
FormDataIntegrationClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Referera till ett PDF-formulär.
- Skapa ett
java.io.FileInputStream
-objekt med hjälp av dess konstruktor. Skicka ett strängvärde som anger platsen för PDF-formuläret. - Skapa ett
com.adobe.idp.Document
-objekt som lagrar PDF-formuläret med konstruktorncom.adobe.idp.Document
. Skickajava.io.FileInputStream
-objektet som innehåller PDF-formuläret till konstruktorn.
- Skapa ett
-
Referera till en XML-datakälla.
- Skapa ett
java.io.FileInputStream
-objekt med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för XML-filen som innehåller data som ska importeras till formuläret. - Skapa ett
com.adobe.idp.Document
-objekt som lagrar formulärdata med konstruktorncom.adobe.idp.Document
. Skicka objektetjava.io.FileInputStream
som innehåller formulärdata till konstruktorn.
- Skapa ett
-
Importera data till PDF-formuläret.
Importera data till PDF genom att anropa
FormDataIntegrationClient
-objektetsimportData
-metod och skicka följande värden:- Objektet
com.adobe.idp.Document
som lagrar formuläret PDF. - Objektet
com.adobe.idp.Document
som lagrar formulärdata.
Metoden
importData
returnerar ettcom.adobe.idp.Document
-objekt som lagrar ett PDF-formulär som innehåller data i XML-datakällan. - Objektet
-
Spara PDF-formuläret som en PDF-fil.
- Skapa ett
java.io.File
-objekt och kontrollera att filtillägget är .PDF. - Anropa
Document
-objektetscopyToFile
-metod för att kopiera innehållet iDocument
-objektet till filen (se till att du använder detDocument
-objekt som returnerades av metodenimportData
).
- Skapa ett
Importera formulärdata med hjälp av webbtjänstens API
Importera formulärdata med hjälp av API:t för integrering av formulärdata (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.NOTE
Ersättlocalhost
med IP-adressen för servern som är värd för AEM Forms. -
Skapa en tjänstklient för integrering av formulärdata.
-
Skapa ett
FormDataIntegrationClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
FormDataIntegrationClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Du behöver inte använda attributetlc_version
. Det här attributet används när du skapar en tjänstreferens. Ange?blob=mtom
om du vill använda MTOM. -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetFormDataIntegrationClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Referera till ett PDF-formulär.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. Det härBLOB
-objektet används för att lagra PDF-formuläret. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor. Skicka ett strängvärde som anger var PDF-formuläret finns och i vilket läge filen ska öppnas. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod. Skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll
BLOB
-objektet genom att tilldela dessMTOM
-fält med innehållet i bytearrayen.
- Skapa ett
-
Referera till en XML-datakälla.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. Det härBLOB
-objektet används för att lagra data som importeras till formuläret. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor. Skicka ett strängvärde som anger platsen för XML-filen som innehåller data som ska importeras och läget som filen ska öppnas i. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod. Skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll
BLOB
-objektet genom att tilldela dessMTOM
-fält med innehållet i bytearrayen.
- Skapa ett
-
Importera data till PDF-formuläret.
Importera data till formuläret PDF genom att anropa
FormDataIntegrationClient
-objektetsimportData
-metod och skicka följande värden:- Objektet
BLOB
som lagrar formuläret PDF. - Objektet
BLOB
som lagrar formulärdata.
Metoden
importData
returnerar ettBLOB
-objekt som lagrar ett PDF-formulär som innehåller data i XML-datakällan. - Objektet
-
Spara PDF-formuläret som en PDF-fil.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för PDF-filen. - Skapa en bytearray som lagrar datainnehållet för objektet
BLOB
som returnerades av metodenimportData
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsMTOM
-fält. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en PDF-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett
Exporterar formulärdata
Du kan exportera formulärdata från ett interaktivt PDF-formulär med hjälp av tjänsten för integrering av formulärdata. Formatet på de data som exporteras beror på formulärtypen. Om formulärtypen är ett Acrobat-formulär som har skapats i Acrobat är exporterade data XFDF. Om formulärtypen är ett XML-formulär som har skapats i Designer är exporterade data XDP.
Sammanfattning av steg
Så här exporterar du formulärdata från ett PDF-formulär:
- Inkludera projektfiler
- Skapa en tjänstklient för integrering av formulärdata.
- Referera till ett PDF-formulär.
- Exportera data från PDF.
- Spara exporterade data som en XML-fil.
Inkludera projektfiler
Inkludera nödvändiga filer i utvecklingsprojektet. Om du skapar ett klientprogram med Java inkluderar du de JAR-filer som behövs. Om du använder webbtjänster måste du inkludera proxyfilerna.
Följande JAR-filer måste läggas till i projektets klassökväg:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-formdataintegration-client.jar
- adobe-utilities.jar (krävs om AEM Forms används i JBoss)
- jbossall-client.jar (krävs om AEM Forms distribueras på JBoss)
Skapa en tjänstklient för integrering av formulärdata
Innan du kan importera data programmatiskt till ett PDF formClient-API måste du skapa en dataintegreringstjänstklient. När du skapar en tjänstklient definierar du de anslutningsinställningar som krävs för att anropa en tjänst. Ange anslutningsegenskaper om du vill ha information.
Referera till ett PDF-formulär
Om du vill exportera data från ett PDF-formulär måste du referera till PDF-formulär som har skapats i Designer eller Acrobat och som innehåller formulärdata. Om du försöker exportera data från ett tomt PDF-formulär får du ett tomt XML-schema.
Exportera data från PDF-formuläret
När du har refererat till ett PDF-formulär som innehåller formulärdata kan du exportera data från formuläret. Data exporteras i ett XML-schema som är baserat på formuläret.
Spara formulärdata som en XML-fil
När du har exporterat formulärdata kan du spara data som en XML-fil. När du har sparat den som en XML-fil kan du öppna XML-filen i ett XML-visningsprogram och visa formulärdata.
Se även
Exportera formulärdata med Java API
Exportera formulärdata med hjälp av webbtjänstens API
Inkludera AEM Forms Java-biblioteksfiler
Exportera formulärdata med Java API
Exportera formulärdata med hjälp av API:t för integrering av formulärdata (Java):
-
Inkludera projektfiler.
Inkludera JAR-klientfiler, t.ex. adobe-formdataintegration-client.jar, i Java-projektets klassökväg.
-
Skapa en tjänstklient för integrering av formulärdata.
- Skapa ett
ServiceClientFactory
-objekt som innehåller anslutningsegenskaper. - Skapa ett
FormDataIntegrationClient
-objekt med hjälp av dess konstruktor och skickaServiceClientFactory
-objektet.
- Skapa ett
-
Referera till ett PDF-formulär.
- Skapa ett
java.io.FileInputStream
-objekt med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för det PDF-formulär som innehåller data som ska exporteras. - Skapa ett
com.adobe.idp.Document
-objekt som lagrar PDF-formuläret med konstruktorncom.adobe.idp.Document
. Skickajava.io.FileInputStream
-objektet som innehåller PDF-formuläret till konstruktorn.
- Skapa ett
-
Exportera data från PDF.
Exportera formulärdata genom att anropa
FormDataIntegrationClient
-objektetsexportData
-metod och skicka detcom.adobe.idp.Document
-objekt som lagrar PDF-formuläret. Den här metoden returnerar ettcom.adobe.idp.Document
-objekt som lagrar formulärdata som ett XML-schema. -
Spara PDF-formuläret som en PDF-fil.
- Skapa ett
java.io.File
-objekt och kontrollera att filtillägget är XML. - Anropa
Document
-objektetscopyToFile
-metod för att kopiera innehållet iDocument
-objektet till filen (se till att du använder detDocument
-objekt som returnerades av metodenexportData
).
- Skapa ett
Exportera formulärdata med hjälp av webbtjänstens API
Exportera formulärdata med hjälp av API:t för integrering av formulärdata (webbtjänst):
-
Inkludera projektfiler.
Skapa ett Microsoft .NET-projekt som använder MTOM. Kontrollera att du använder följande WSDL-definition:
http://localhost:8080/soap/services/FormDataIntegration?WSDL&lc_version=9.0.1
.- Ersätt
localhost
med IP-adressen för servern som är värd för AEM Forms.
- Ersätt
-
Skapa en tjänstklient för integrering av formulärdata.
-
Skapa ett
FormDataIntegrationClient
-objekt med hjälp av dess standardkonstruktor. -
Skapa ett
FormDataIntegrationClient.Endpoint.Address
-objekt med konstruktornSystem.ServiceModel.EndpointAddress
. Skicka ett strängvärde som anger WSDL till AEM Forms-tjänsten (till exempelhttp://localhost:8080/soap/services/FormDataIntegration?blob=mtom
). Du behöver inte använda attributetlc_version
. Det här attributet används när du skapar en tjänstreferens. Ange?blob=mtom
om du vill använda MTOM. -
Skapa ett
System.ServiceModel.BasicHttpBinding
-objekt genom att hämta värdet för fältetFormDataIntegrationClient.Endpoint.Binding
. Skicka returvärdet tillBasicHttpBinding
. -
Ställ in
System.ServiceModel.BasicHttpBinding
-objektetsMessageEncoding
-fält tillWSMessageEncoding.Mtom
. Detta värde garanterar att MTOM används. -
Aktivera grundläggande HTTP-autentisering genom att utföra följande åtgärder:
- Tilldela användarnamnet för AEM formulär till fältet
FormDataIntegrationClient.ClientCredentials.UserName.UserName
. - Tilldela motsvarande lösenordsvärde till fältet
FormDataIntegrationClient.ClientCredentials.UserName.Password
. - Tilldela konstantvärdet
HttpClientCredentialType.Basic
till fältetBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Tilldela konstantvärdet
BasicHttpSecurityMode.TransportCredentialOnly
till fältetBasicHttpBindingSecurity.Security.Mode
.
- Tilldela användarnamnet för AEM formulär till fältet
-
-
Referera till ett PDF-formulär.
- Skapa ett
BLOB
-objekt med hjälp av dess konstruktor. Det härBLOB
-objektet används för att lagra det PDF som data exporteras från. - Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor. Skicka ett strängvärde som anger var PDF-formuläret finns och i vilket läge filen ska öppnas. - Skapa en bytearray som lagrar innehållet i objektet
System.IO.FileStream
. Du kan bestämma storleken på bytearrayen genom att hämtaSystem.IO.FileStream
-objektetsLength
-egenskap. - Fyll i bytearrayen med strömdata genom att anropa
System.IO.FileStream
-objektetsRead
-metod och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll
BLOB
-objektet genom att tilldela dessMTOM
-fält med innehållet i bytearrayen.
- Skapa ett
-
Exportera data från PDF.
Importera data till PDF genom att anropa
FormDataIntegrationClient
-objektetsexportData
-metod och skicka detBLOB
-objekt som lagrar PDF-formuläret. Den här metoden returnerar ettBLOB
-objekt som lagrar formulärdata som ett XML-schema. -
Spara PDF-formuläret som en PDF-fil.
- Skapa ett
System.IO.FileStream
-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar platsen för XML-filen. - Skapa en bytearray som lagrar datainnehållet för objektet
BLOB
som returnerades av metodenexportData
. Fyll i bytearrayen genom att hämta värdet förBLOB
-objektetsMTOM
-fält. - Skapa ett
System.IO.BinaryWriter
-objekt genom att anropa dess konstruktor och skickaSystem.IO.FileStream
-objektet. - Skriv bytearrayens innehåll till en XML-fil genom att anropa
System.IO.BinaryWriter
-objektetsWrite
-metod och skicka bytearrayen.
- Skapa ett