CIB pdf toolbox technischer Leitfaden (DE)

10. Barcodeinformationen aus dem Pdf extrahieren

(ab CIB pdf toolbox Version 1.8.0)

Mit Hilfe des CIB pdf toolbox Join können Barcodes aus Barcode Bildern in PDF Dokumenten ausgelesen werden. Als Ausgabeformat für die Barcode-Informationen ist XML oder CSV möglich.

Die CIB pdf toolbox erzeugt aus PDF ein Metafile, das vom Modul CIB ocr weiterverarbeitet wird. Daher setzt diese Funktionalität das Modul CIB ocr mit entsprechender Lizenz voraus.


(ab CIB pdf toolbox Version 1.13.3):

Jetzt ist es möglich, alle CIB ocr StringProperties mit dem Prefix „CibOcr“ im Namen an die CIB pdf toolbox zu setzen. Diese Properties werden bei einem anschließenden OCR- bzw.  BarcodeAuslesen-Lauf an das Modul CIB  weitergereicht.

Beispiel:

CIB ocr hat die Property „DatamatrixScanGap=100“. An die CIB pdf toolbox setzt man die Property „CibOcrDatamatrixScanGap=100“, die dann beim CIB ocr Aufruf der CIB pdf toolbox  als DatamatrixScanGap mit Wert „100“ weitergereicht wird.

Propertybezeichnung

Typ

Funktionalität

Art

BarcodeRange

String

Diese Property enthält eine Liste von Barcodetypen, die durch Strichpunkte voneinander getrennt sind. Alle Bilder im PDF werden dahingehend überprüft, ob es sich um Barcodes der angegebenen Typen handelt. Die Suche kann auch auf Bereiche des PDFs eingeschränkt werden.

Syntax:

<barcoderangelist> ::= <barcodetypes> | <barcoderanges>

<barcoderanges> ::= <onebarcoderange> | <onebarcoderange> “;” <barcoderanges>

<onebarcoderange> ::= “{” <pagenumber> “}” | “{” <pagenumber> “;” <barcodetypes> “}” | “{” <pagenumber> “;” <barcodetype> “;” <rangeleft> “;” <rangebottom> “;” <rangeright> “;” <rangetop> “}”

<pagenumber> ::= <Integer>

<barcodetypes> ::= <onebarcodetype> | <onebarcodetype> “,” <barcodetypes>

<onebarcodetype> ::= “DataMatrix” | “Code128” | “CodeITF” | “Code39” | “Code39Extended” | “QR”

<rangeleft> ::= <Integer>

<rangebottom> ::= <Integer>

<rangeright> ::= <Integer>

<rangetop> ::= <Integer>

<rangeleft>, <rangebottom>, <rangeright>, <rangetop> sind positive ganze Zahlen in mm, der Ursprung (0;0) ist die linke untere Ecke der PDF-Seite.

„ “: (Property ist leer) Es werden alle Bilder des PDFs auf Barcode Informationen untersucht und dies wird mit den beiden Barcodetypen „QR“ und „DataMatrix“ durchgeführt. (default)

Ist die Property falsch belegt, wird der Errorcode 100 zurückgeliefert.

Beispiele siehe unten.

Set

BarcodeInfo

String

In diese Property werden die ausgelesenen Barcode-Informationen zurückgeliefert.
Falls eine Ausgabedatei (OutputFilename) und ein Speicherbereich (MemoryOutputCallback) angegeben werden, erfolgt die Ausgabe zusätzlich in diese Datei und in den Speicher.

Hinweis:
Durch einzelne Angaben (Ausgabedatei oder Speicherbereich) oder komplett ohne Angabe, wird der Wert für BarcodeInfo gar nicht gesetzt“.

Wird im angegebenen Bereich kein Barcode gefunden, bleibt die Property/Ausgabedatei leer.

Das Format der Ausgabe ist abhängig vom Inhalt der Property OutputFormat. Möglich sind OutputFormat= FormatBarcodeXml /FormatBarcodeCsv.

Der Koordinatenursprung (0;0) ist die linke untere Ecke der PDF-Seite.

OutputFormat=FormatBarcodeXml :

<barcodeimagexml> ::= <empty value> | „<?xml version=”1.0” encoding=”UTF-8” standalone=”yes”?><barcodeimages>“ <barcodeimagelist> „</barcodeimages>“

<barcodeimagelist> ::= <onebarcodeimage> | <onebarcodeimage> <barcodeimagelist>

<onebarcodeimage> ::= „<barcodeimage><pagenumber>“ <pagenumber> „</pagenumber><left>“ <imageleft> „</left><bottom>“ <imagebottom> „</bottom><right>“ <imageright> „</right><top>“ <imagetop> „</top><barcodeinfos>“ <barcodeinfolist> „</barcodeinfos></barcodeimage>“

<pagenumber> ::= <Integer>

<imageleft> ::= <Integer>

<imagebottom> ::= <Integer>

<imageright> ::= <Integer>

<imagetop> ::= <Integer>

<barcodeinfolist> ::= <onebarcodeinfo> | <onebarcodeinfo> <barcodeinfolist>

<onebarcodeinfo> ::= „<barcodeinfo type=”“ <barcodetype> „”“ <barcodecontent> „</barcodeinfo>“

<barcodetype> ::= „DataMatrix“ | „Code128“ | „CodeITF“ | „Code39“ | „Code39Extended“ | „QR“

<barcodecontent> ::= <Text>

 

OutputFormat=FormatBarcodeCsv:

<barcodeimagecsv> ::= <empty value> | <barcodeimagelistcsv>

<barcodeimagelistcsv> ::= <onebarcodeimagerow> | <onebarcodeimagerow> <barcodeimagelistcsv>

<onebarcodeimagerow> ::= <pagenumber> „;“ <imageleft> „;“ <imagebottom> „;“ <imageright> „;“ <imagetop> „;“ <barcodeinfolistcsv> <CR> <LF>

<pagenumber> ::= <Integer>

<imageleft> ::= <Integer>

<imagebottom> ::= <Integer>

<imageright> ::= <Integer>

<imagetop> ::= <Integer>

<barcodeinfolistcsv> ::= <onebarcodeinfocsv> | <onebarcodeinfocsv> „;“ <barcodeinfolistcsv>

<onebarcodeinfocsv> ::= „;“ | <barcodetype> „;“ <barcodecontent>

<barcodetype> ::= „DataMatrix“ | „Code128“ | „CodeITF“ | „Code39“ | „Code39Extended“ | „QR“

<barcodecontent> ::= „““ <Text> „““

Hinweise zu CSV:

-           Sollte der Original-Barcodetext ein Anführungszeichen  enthalten, so wird dies im CSV-Format durch zwei hintereinander folgende Anführungszeichen  “”  ersetzt.

-           Jedes Barcodeimage hat eine eigene “<onebarcodeimagerow>”-Zeile. Sollte ein Pdf-Image aus Bild und Maske bestehen und sollten beide Barcodeinformationen enthalten, werden sie als zwei “<onebarcodeimagerow>”-Zeilen eingetragen mit gleicher Seitennummer und gleichem Rechtsbereich.

-           Für jedes Barcodeimage werden die Barcodeinfos für verschiedene Barcodetypes am Ende durch den Strichpunkt getrennt angegeben. Dabei wird für jede Barcodeinfo erst der Barcodetype und dann der Barcodecontent angegeben.

-           Damit jede CSV-Zeile aus der gleichen Anzahl von (durch Strichpunkt getrennte) Spalten besteht, sind bei den einzelnen CSV-Zeilen (= <onebarcodeimagerow>) am Ende entsprechend viele “;;” angehängt.

 

Beispiele siehe unten.

Get

OCRDebug

String

Diese Property ist nur für technische Testzwecke von Bedeutung. Sie steuert die Ausgabe der Bilder aus dem PDF.

Mögliche Werte:

„1“     Die Zwischenschritte der Barcodeextraction mittels OCR werden als einzelne Dateien ausgegeben.

„0“     Keine Ausgabe Zwischenschritte (default)

Für jedes einzelne Bild im Pdf Dokument, welches an die CIB Ocr Dll übergeben wurde, werden mehrere Dateien ausgegeben:

-           Das Bild selbst als Bitmap wie es an OCR übergeben wurde.

-           Das Barcode Ergebnis der CIB Ocr Dll, falls das Barcodeergebnis nicht leer ist. Falls das Barcodeergebnis leer ist, wird diese Datei nicht ausgegeben.

Die Dateien werden in das gleiche Verzeichnis geschrieben wie die Ausgabedatei. Die Namen dieser Dateien haben folgende Form:

“Ausgabedatei”__Page_”Seitennummer”_Image_“Bildnummer“_“Dateiendung“

Für die “Dateiendung” gilt dabei:

-        Für die Bitmapdatei: „.bmp“

-        Für das Barcodeergebnis der CIB Ocr Dll: „_BARCODE.txt“

Beispiel:
Lautet das Ausgabedokument „Output.xml“, so werden für das 4. Bild der 3. Seite folgende Dateien ausgegeben:
Output.xml__Page_3_Image_4.bmp
Output.xml__Page_3_Image_4_BARCODE.txt

Set