Arbeta med streckkodade formulär working-with-barcoded-forms
Exempel och exempel i det här dokumentet gäller endast för AEM Forms i JEE-miljö.
Om tjänsten för streckkodade formulär about-the-barcoded-forms-service
Den streckkodade blanketttjänsten automatiserar inhämtning av data från ifyllda och utskrivna blanketter och integrerar inhämtad information i företagets centrala IT-system.
Med den streckkodade formulärtjänsten kan du lägga till endimensionella och tvådimensionella streckkoder i interaktiva PDF forms. Du kan sedan publicera streckkodsformulären på en webbplats eller distribuera dem via e-post eller cd. När en användare fyller i ett streckkodsformulär med Adobe Reader, Acrobat Professional eller Acrobat Standard uppdateras streckkoden automatiskt för att koda de formulärdata användaren anger. Användaren kan skicka formuläret elektroniskt eller skriva ut det på papper och skicka det via post, fax eller hand. Du kan senare extrahera användardata som en del av ett automatiserat arbetsflöde och slussa data mellan godkännandeprocesser och affärssystem.
Mer information om den streckkodade formulärtjänsten finns i Tjänstreferens för AEM Forms.
Avkoda streckkodade formulärdata decoding-barcoded-form-data
Du kan använda API:t för streckkodsbaserade formulärtjänster för att avkoda data från ett PDF-formulär eller en bild som innehåller en streckkod. Att avkoda formulärdata innebär att extrahera data som finns i streckkoden. Innan data kan avkodas från ett PDF-formulär (eller bild) måste användaren fylla i formuläret med data.
Sammanfattning av steg summary-of-steps
Så här avkodar du data från ett PDF-formulär:
- Inkludera projektfiler.
- Skapa ett streckkodat formulärKlient-API-objekt.
- Hämta ett PDF-formulär som innehåller streckkodade data.
- Avkoda data från PDF.
- Konvertera data till en XML-datakälla.
- Bearbeta avkodade data.
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-barcodedforms-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)
- xercesImpl.jar (i <installationskatalog>/Adobe/Adobe_Experience_Manager_forms/sdk/client-libs\thirdparty)
Om AEM Forms körs på en J2EE-programserver som stöds och som inte är JBOSS, måste du ersätta adobe-utilities.jar och jbossall-client.jar med JAR-filer som är specifika för J2EE-programservern som AEM Forms är distribuerad på. Mer information om platsen för alla AEM Forms JAR-filer finns i Inkludera AEM Forms Java-biblioteksfiler.
Skapa ett klient-API-objekt för streckkodade formulär
Innan du programmässigt kan utföra en streckkodsåtgärd måste du skapa en streckkodad Forms-tjänstklient. Om du använder Java API skapar du ett BarcodedFormsServiceClient-objekt. Skapa ett BarcodedFormsServiceService-objekt om du använder API:t för webbtjänsten för streckkoder.
Hämta ett PDF-formulär som innehåller streckkodade data
Hämta ett PDF-formulär som innehåller en streckkod som har fyllts i med användardata.
Avkoda data från PDF-formuläret
När du har fått ett PDF-formulär (eller bild) som innehåller en streckkod kan du avkoda data. Tjänsten Barcoded Forms stöder följande typer av streckkoder:
- PDF417-streckkoder.
- Datamatrisstreckkoder.
- QR-kodstreckkoder.
- Kodabarstreckkoder.
- Code 128 barcodes.
- Code 39 barcodes.
- EAN-13-streckkoder.
- EAN-8-streckkoder.
Teckenuppsättningen som hex i avkodnings-API anger att innehållet i streckkoden är kodat som en hexsträng. Om UTF-8 till exempel anges som teckenkodning i formuläret och Hex anges i avkodningsåtgärden, kodas innehållet i streckkoden som en hexsträng i < xb:content>-elementet i avkodade utdata. Du kan konvertera det här hexadecimala värdet för att hämta det ursprungliga innehållet genom att skapa programlogik i klientprogrammet.
Konvertera data till en XML-datakälla
När du har avkodat formulärdata kan du konvertera dem till XDP- eller XFDF-data. Anta till exempel att du vill importera data till ett annat formulär. Om du vill importera data till ett XFA-formulär måste du konvertera data till XDP-data. Mer information finns i Importera formulärdata.
Bearbeta avkodade data
Du kan bearbeta konverterade data så att de uppfyller dina affärskrav. När du till exempel har avkodat och konverterat data kan du spara dem i en fil, lagra dem i en företagsdatabas, fylla i ett annat formulär och så vidare. I det här avsnittet beskrivs hur du sparar konverterade data som en XML-fil.
Se även
Avkoda streckkodsdata med Java API
Avkoda streckkodade formulärdata med webbtjänstens API
Avkoda streckkodsdata med Java API decode-barcoded-form-data-using-the-java-api
Avkoda formulärdata med hjälp av API:t för streckkodade formulär (Java):
-
Inkludera projektfiler
Inkludera JAR-klientfiler i Java-projektets klassökväg.
-
Skapa ett klient-API-objekt för streckkodade formulär
Skapa ett
BarcodedFormsServiceClient-objekt med hjälp av dess konstruktor och skicka ettServiceClientFactory-objekt som innehåller anslutningsegenskaper. -
Hämta ett PDF-formulär som innehåller streckkodsdata
- Skapa ett
java.io.FileInputStream-objekt som representerar PDF-formuläret som innehåller streckkodade data med hjälp av dess konstruktor och skicka ett strängvärde som anger platsen för PDF-dokumentet. - Skapa ett
com.adobe.idp.Document-objekt med hjälp av dess konstruktor och skickajava.io.FileInputStream-objektet.
- Skapa ett
-
Avkoda data från PDF
Avkoda formulärdata genom att anropa
BarcodedFormsServiceClient-objektetsdecode-metod och skicka följande värden:- Objektet
com.adobe.idp.Documentsom innehåller PDF-formuläret. - Ett
java.lang.Boolean-objekt som anger om en PDF417-streckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en datamatrisstreckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en QR-kodstreckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en codabar-streckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en kod 128-streckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en 39-streckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en EAN-13-streckkod ska avkodas. - Ett
java.lang.Boolean-objekt som anger om en EAN-8-streckkod ska avkodas. - Ett
com.adobe.livecycle.barcodedforms.CharSet-uppräkningsvärde som anger teckenuppsättningens kodningsvärde som används i streckkoden.
Metoden
decodereturnerar ettorg.w3c.dom.Document-objekt som innehåller avkodade formulärdata. - Objektet
-
Konvertera data till en XML-datakälla
Konvertera avkodade data till antingen XDP- eller XFDF-data genom att anropa
BarcodedFormsServiceClient-objektetsextractToXML-metod och skicka följande värden:- Objektet
org.w3c.dom.Documentsom innehåller avkodade data (kontrollera att du använderdecode-metodens returvärde). - Ett
com.adobe.livecycle.barcodedforms.Delimiter-uppräkningsvärde som anger radavgränsaren. Du bör angeDelimiter.Carriage_Return. - Ett
com.adobe.livecycle.barcodedforms.Delimiter-uppräkningsvärde som anger fältavgränsaren. Ange till exempelDelimiter.Tab. - Ett
com.adobe.livecycle.barcodedforms.XMLFormat-uppräkningsvärde som anger om streckkodsdata ska konverteras till XDP- eller XFDF XML-data. Ange till exempelXMLFormat.XDPför att konvertera data till XDP-data.
note note NOTE Ange inte samma värden för radavgränsaren och fältavgränsarparametrarna. Metoden
extractToXMLreturnerar ettjava.util.List-objekt där varje element är ettorg.w3c.dom.Document-objekt. Det finns ett separat element för varje streckkod som finns i formuläret. Det vill säga, om det finns fyra streckkoder i formuläret finns det fyra element i det returneradejava.util.List-objektet. - Objektet
-
Bearbeta avkodade data
- Iterera genom
java.util.List-objektet för att hämta varjeorg.w3c.dom.Document-objekt som finns i listan. - Konvertera
org.w3c.dom.Document-objektet till ettcom.adobe.idp.Document-objekt för varje element i listan. (Den programlogik som konverterar ettorg.w3c.dom.Document-objekt till ettcom.adobe.idp.Document-objekt visas i streckkodsdata för avkodning med hjälp av Java API-exemplet). - Spara XML-data som en XML-fil genom att anropa
copyToFileför objektetcom.adobe.idp.Documentoch skicka ett File-objekt som representerar XML-filen.
- Iterera genom
Se även
Snabbstart (SOAP läge): Avkoda streckkodade formulärdata med Java API
Avkoda streckkodade formulärdata med webbtjänstens API decode-barcoded-form-data-using-the-web-service-api
Avkoda formulärdata med API:t för streckkodade formulär (webbtjänst):
-
Inkludera projektfiler
- Skapa en Microsoft .NET-klientsammansättning som använder WSDL för den streckkodade formulärtjänsten. Mer information finns i Anropa AEM Forms med Base64-kodning.
- Referera till Microsoft .NET-klientsammansättningen. Mer information finns i"Referera till .NET-klientsammansättningen" i Anropa AEM Forms med Base64-kodning.
-
Skapa ett klient-API-objekt för streckkodade formulär
Skapa ett
BarcodedFormsServiceService-objekt genom att anropa dess standardkonstruktor med hjälp av den Microsoft .NET-klientsammansättning som använder den streckkodade formulärtjänsten WSDL. -
Hämta ett PDF-formulär som innehåller streckkodsdata
- Skapa ett
BLOB-objekt med hjälp av dess konstruktor. ObjektetBLOBanvänds för att lagra ett PDF-dokument som innehåller en streckkod. - Skapa ett
System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för PDF-dokumentet 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 och skicka bytearrayen, startpositionen och strömlängden som ska läsas. - Fyll objektet
BLOBgenom att tilldela dessbinaryData-egenskap med innehållet i bytearrayen.
- Skapa ett
-
Avkoda data från PDF
Avkoda formulärdata genom att anropa
BarcodedFormsServiceService-objektetsdecode-metod och skicka följande värden:- Objektet
BLOBsom innehåller PDF-formuläret. - Ett
Boolean-objekt som anger om en PDF417-streckkod ska avkodas. - Ett
Boolean-objekt som anger om en datamatrisstreckkod ska avkodas. - Ett
Boolean-objekt som anger om en QR-kodstreckkod ska avkodas. - Ett
Boolean-objekt som anger om en codabar-streckkod ska avkodas. - Ett
Boolean-objekt som anger om en kod 128-streckkod ska avkodas. - Ett
Bolean-objekt som anger om en 39-streckkod ska avkodas. - Ett
Boolean-objekt som anger om en EAN-13-streckkod ska avkodas. - Ett
Boolean-objekt som anger om en EAN-8-streckkod ska avkodas. - Ett
CharSet-uppräkningsvärde som anger teckenuppsättningens kodningsvärde som används i streckkoden.
Metoden
decodereturnerar ett strängvärde som innehåller avkodade formulärdata. - Objektet
-
Konvertera data till en XML-datakälla
Konvertera avkodade data till antingen XDP- eller XFDF-data genom att anropa
BarcodedFormsServiceService-objektetsextractToXML-metod och skicka följande värden:- Ett strängvärde som innehåller avkodade data (kontrollera att du använder
decode-metodens returvärde). - Ett
Delimiter-uppräkningsvärde som anger radavgränsaren. Du bör angeDelimiter.Carriage_Return. - Ett
Delimiter-uppräkningsvärde som anger fältavgränsaren. Ange till exempelDelimiter.Tab. - Ett
XMLFormat-uppräkningsvärde som anger om streckkodsdata ska konverteras till XDP- eller XFDF XML-data. Ange till exempelXMLFormat.XDPför att konvertera data till XDP-data.
note note NOTE Ange inte samma värden för radavgränsaren och fältavgränsarparametrarna. Metoden
extractToXMLreturnerar enObject-array där varje element är enBLOB-instans. Det finns ett separat element för varje streckkod som finns i formuläret. Det vill säga, om det finns fyra streckkoder i formuläret finns det fyra element i den returneradeObject-arrayen. - Ett strängvärde som innehåller avkodade data (kontrollera att du använder
-
Bearbeta avkodade data
- Skapa ett
System.IO.FileStream-objekt genom att anropa dess konstruktor och skicka ett strängvärde som representerar filplatsen för det skyddade PDF-dokumentet. - Skapa en bytearray som lagrar datainnehållet för objektet
BLOBsom returnerades av metodenencryptPDFUsingPassword. Fyll i bytearrayen genom att hämta värdet förBLOB-objektetsbinaryData-datamedlem. - 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
Se även
Anropa AEM Forms med Base64-kodning