CIB barcode technischer Leitfaden
6. Handhabung von Barcodes mit CoMod
6.3. CIB format
Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument
Dynamisches Generieren der Barcodegrafik über die CIB format Eigenschaft „BarcodeFilename“
Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion
Dynamisches Generieren einer OMR Strichcodegrafik
Dynamisches Generieren eines DataMatrix ECC 2D Barcodes
Dynamisches Generieren eines QR-Barcodes
Dynamisches Generieren eines PDF417-Barcodes
Eingabe
CIB format verarbeitet mit Barcodefonts formatierte Texte wie alle anderen formatierten Texte. Das heißt, die Buchstabenbreiten werden aus der Schriftart ermittelt und beim Zeilen- und Seitenumbruch berücksichtigt.
Im Dokument eingebettete oder referenzierte Barcodegrafiken werden wie andere Grafiken positioniert und berücksichtigt.
Im Dokument enthaltene spezielle Anweisungen zur dynamischen Generierung einer Barcodegrafik werden ausgewertet, und eine zum dort angegebenen Barcodewert gehörige Barcodegrafik im entsprechenden Barcodetyp generiert.
Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument
Mit einer speziellen Form des INCLUDEPICTURE-Feldes (EinfügenGrafik) wird die dynamische Generierung einer Barcodegrafik angefordert.
{ INCLUDEPICTURE "BARCODE:<Typ>;<Wert>;<Orientierung>;<Breite>;<Höhe>;<Prüfziffer>" }
Das Feld enthält dazu folgende Informationen:
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Barcode oder Strichcode erzeugt werden soll BARCODE:<Typ>;[<Subtyp>;]<Wert>;<Orientierung>;<Breite>;<Höhe>; |
<Typ>[;] |
Ein Barcodetyp aus der von CIB format unterstützten Menge von Typen: CodeITF Code25Industrial Code25Matrix Code39 Code39Extended Code128A Code128B Code128C Code128Auto DataMatrix PDF417 QR |
[<Subtyp>[;]] |
Wird für den Datamatrix Barcode verwendet: ECCn(n = 0 – 200) |
<Wert>[;] |
Der individuelle Wert, den der Barcode darstellen soll. Achtung: Bei Code128C und bei CodeITF muss <Wert> aus einer geraden Anzahl von Zeichen
bestehen. |
<Orientierung>[;] |
Wie das Strichmuster orientiert sein soll: horizontalleft (vertikale Striche nebeneinander, erstes Zeichen links) horizontalright (vertikale Striche nebeneinander, erstes Zeichen rechts) verticalleft (horizontale Striche untereinander, erstes Zeichen oben) verticalright (horizontale Striche übereinander, erstes Zeichen unten) Achtung: Bezugspunkt für die Orientierung des Barcodes ist die Orientierung des INCLUDEPICTURE-Befehls, d.h. ein vertikal geschriebener INCLUDEPICTURE-Befehl kann bei z.B. verticalleft zu einem horizontalen Barcode führen. Bei Eingabe des Barcodes über Property „BarcodeFilename“ wird die Orientierung des Barcodes an dem Seitenlayout ausgerichtet. |
<Breite>[;] |
Vom Barcodetyp abhängige Angaben zu Strichbreiten in mm. (x.xmm ) Für den Typ CodeITF ist der Wert die Strichbreite des schmalen Striches. |
<Höhe>[;] |
Angabe zur Höhe der Barcode-Balken in mm (x.xmm) |
<Prüfziffer>[;] |
Ob der Barcode mit oder ohne Prüfziffer generiert werden soll, wird mit diesem Parameter angegeben. (default = mit Prüfziffer) |
[<Verringerungsmethode>] |
Wird für den Datamatrix Barcode verwendet: auto yes no |
Die spezielle Anweisung hat in der Eingabe für CIB format folgendes Aussehen:
mit Prüfziffer:
{ INCLUDEPICTURE "BARCODE:Code39;1234567890;horizontalleft;0.5mm;7.5mm;" }
ohne Prüfziffer:
{ INCLUDEPICTURE "BARCODE:Code39;1234567890;horizontalleft;0.5mm;7.5mm;nochecksum" }
Der Barcodewert kann auch über die Datenversorgung variabel eingesteuert werden. Die Eingabe für CIB merge kann wie folgt aussehen, damit der Barcodewert an der richtigen Stelle eingesetzt wird:
Variante a:
Durch die CSV Variable wird die komplette Barcodevorgabe angeliefert:
{ INCLUDEPICTURE "{ REF barcode \* Zeichenformat}" }
Variante b:
Durch die CSV Variable wird nur der Barcodewert angeliefert:
{ INCLUDEPICTURE "BARCODE:Code39;{ REF barcodeWert };horizontalleft;0.5mm;15mm;" }
Nachteil: In WORD2007 wird dieser Befehl nach dem ersten Abspeichern aus dem RTF entfernt und durch einen Grafik-Platzhalter ersetzt und damit nicht mehr bearbeitet werden.
Variante c:
{ SET Barcodeanweisung "BARCODE:DataMatrix;ECC200;{REF Text};horizontalleft;20;20;;ansi" }
{ INCLUDEPICTURE "{REF Barcodeanweisung}" }
Diese Variante ist eine Kombination aus a und b, sie vermeidet den Nachteil von Variante b.
Es wird die Verwendung der Variante c empfohlen.
Aus diesen Informationen baut CIB format im Speicher dynamisch das Strichmuster auf der Barcodegrafik auf und positioniert diese entsprechende der INCLUDEPICTURE-Anweisung.
Hinweis:
Wenn es in Variante a durch den Mischvorgang zu einem leeren Inhalt (= nicht versorgter Barcode) kommt, so wird diese INCLUDEPICTURE Vorgabe von CIB format überlesen, als ob keine Anweisung vorhanden ist. Bei Variante b hingegen wird an Stelle der Barcodegrafik ein Platzhalter dargestellt.
Dynamisches Generieren der Barcodegrafik über die CIB format Eigenschaft „BarcodeFilename“
Alternativ zu einem Barcode-Platzhalter im Dokument kann man auch direkt eine Property des CIB format Modules als Aufrufparameter für Barcodeparameter benutzen.
Bei der Ausgabe eines Dokumentes werden dann diese Vorgaben berücksichtigt und auf den gewünschten Seiten an den gewünschten Stellen, die vorgegebenen Barcodes ausgegeben.
Es ist möglich in dieser Property mehrere Barcodeanweisungen nacheinander abzulegen.Die Property „BarcodeFilename“ enthält dazu folgende Informationen
Anweisung |
Bedeutung |
POS: |
Positionsangabe, an der der Barcode aufgedruckt werden soll POS:<x-Wert>;<y-Wert>;< Seitenangabe>;<Barcode> |
<x-Wert>[;] |
x-Position linke obere Ecke in mm vom linken Papierrand. Durch Angabe eines negativen Wertes kann der Bezugspunkt auf den rechten Papierrand geändert werden (ab CIB format 5.3.223). |
<y-Wert>[;] |
y-Position linke obere Ecke in mm vom oberen Papierrand. Durch Angabe eines negativen Wertes kann der Bezugspunkt auf den unteren Papierrand geändert werden (ab CIB format 5.3.223). |
<Seitenangabe>[;] |
Auf welchen Seiten des Dokuments der Barcode ausgegeben werden soll: Textmarkenname (Bar-/Strichcode auf alle Seiten die mit dieser Textmarke (Ausfertigung) markiert sind. Innerhalb einer Ausfertigung kann auch noch, mit Komma getrennt, durch Angabe eines Wertes aus unterer Liste weiter eingeschränkt werden (ab CIB format 5.3.223)). First (nur erste Seite), NoFirst (alle bis auf die erste Seite), Last (nur letzte Seite), NoLast (alle bis auf die letzte Seite), Even (ungerade Seiten) Odd (gerade Seiten) All (alle Seiten) Wert (diese Seite) Wert1-Wert2 (diesem Seitenbereich) Wert1-Wert2[,]Wert3 (diesen Seiten/Seitenbereich) Die Prüfung erfolgt in der Reihenfolge dieser Liste. Erst die Kommandowörter, dann die numerischen Werte und dann Textmarkennamen. |
<Barcode> |
Komplette Barcodeanweisung (siehe Kapitel „Dynamisches
Generieren der Barcodegrafik in einem Platzhalter im Dokument“) und |
Die Seitenangaben besitzen verschiedene Prioritäten:
All, Odd, Even, NoFirst, NoLast Priorität: keine
First, Last, Wert Priorität: DIRECT
Wert1-Wert2 Priorität: RANGE
Dabei gilt folgende Rangfolge: Keine Priorität < RANGE < DIRECT
Besitzen zwei Angaben gleiche Priorität, so gelten beide, ansonsten gilt die mit der höheren Priorität.
Die Angabe „All;Barcode1;Last;Barcode2“ bewirkt also, dass auf allen Seiten bis auf der letzten, Barcode1 platziert wird und auf der letzten Seite stattdessen Barcode 2 (da Last > All).
Möchte man hingegen auf allen Seiten Barcode1 platzieren und zusätzlich auf der letzten Seite Barcode2, ist dies möglich, wenn man die Angaben durch geschweifte Klammern trennt.
{All;Barcode1}{Last;Barcode2}
Alles, was innerhalb der geschweiften Klammern steht ist durch oben genannte Prioritäten geregelt, zwischen den geschweiften Klammern gilt jedoch keine Priorisierung.
Beispiele für PDF-Konvertierung über Runshell
1.
cibRsh.exe BarcodeFilename=" {POS:6.0mm;211.0mm;All;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;;
POS:6.0mm;215.8mm;All;BARCODE:Code39;000161;verticalright;0.31mm;9.0mm;nochecksum;
POS:6.0mm;255.0mm;Last;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;}
" -f Test.rtf
Im Ergebnis-PDF sind auf allen Seiten, außer der letzten, der erste OMR-Barcode und der Code39 aufgebracht, auf der letzten Seite nur der 2. OMR-Barcode.
2.
cibRsh.exe BarcodeFilename=" {POS:6.0mm;211.0mm;All;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;;
POS:6.0mm;215.8mm;All;BARCODE:Code39;000161;verticalright;0.31mm;9.0mm;nochecksum
};
{POS:6.0mm;255.0mm;Last;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;}
" -f Test.rtf
Durch das verwenden von Klammern ändert sich das aufbringen der Barcodes, so das auf allen Seiten der erste OMR-Barcode und der Code39, jedoch auf der letzten ZUSÄTZLICH der 2. OMR-Barcode enthalten ist.
3.
cibRsh.exe BarcodeFilename=" {POS:6.0mm;211.0mm;All;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;;
POS:6.0mm;215.8mm;All;BARCODE:Code39;000161;verticalright;0.31mm;9.0mm;nochecksum;
POS:6.0mm;255.0mm;NoLast;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;}
" -f Test.rtf
In diesem Beispiel werden auf allen Seiten alle drei Barcodes aufgebracht, auf der letzten aber nur die ersten beiden.
4.
cibRsh.exe BarcodeFilename=" {POS:6.0mm;211.0mm;AUSF1,1,AUSF2,1;BARCODE:OMR;1;verticalleft;9.0mm;0.75mm;5.5mm;}
" -f Test.rtf
Der Barcode wird nur auf die erste Seite der Ausfertigungen AUSF1 und AUSF2 aufgebracht.
Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion
Als weitere Alternative zu einem Barcode-Platzhalter im Dokument kann man dem CIB format Module auch eine Callbackfunktion setzen, die dann bei jeder generierten Ausgabeseite durchlaufen wird.
Man kann auf diese Weise seitenabhängig dynamische Barcodes mit der unter „Dynamisches Generieren der Barcodegrafik über die CIB format Eigenschaft“ beschriebenen Property setzen.
Bei der Ausgabe eines Dokumentes werden dann diese Vorgaben berücksichtigt und auf den gewünschten Seiten an den gewünschten Stellen, die vorgegebenen Barcodes ausgegeben.
Dynamisches Generieren einer OMR Strichcodegrafik
Die in den Kapiteln „Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument“ bis „Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion“ beschriebenen Verfahren können auch zum Einfügen von OMR Strichcodes genutzt werden. Diese enthalten folgende Information:
Spezielle OMR Strichcodegrafik
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Bar- oder Strichcode erzeugt werden soll BARCODE:<Typ>:<Subtyp>;<Daten>;<Orientierung>;<Strichbreite>;<Strichhöhe> |
<Typ> |
OMR Dient der Steuerung von Kuvertier-Maschinen. |
<Subtyp> |
Der Subtyp beschreibt die Funktionen, die die spezielle Kuvertiermaschine unterstützt. <Subtyp> := [<Subtyp_E>][ <Subtyp_S> ][<Subtyp_N>][ <Subtyp_P>]
<Subtyp_E> := “E” | “” (Envelop | Collect) <Subtyp_S> := “S” | “” (Seal | NotSeal) <Subtyp_N> := “1” | “3” | “7” | “” <Subtyp_P> := “P” | “” (Parity | noParity) Beispiel: OMR:ES3 bedeutet, dass die Kuvertiermaschine folgende Funktionen unterstützt: Envelop/Collect Achtung: Die Reihenfolge der Subtypen ist durch obige Beschreibung festgelegt. Auf Groß-/Kleinschreibung muss geachtet werden. |
<Daten> |
Hier wird die konkrete Belegung der von der Kuvertiermaschine unterstützten Funktionen (Subtypen) gemacht, d.h. nur Funktionen, die unter <Subtyp> definiert wurden, können auch mit <Daten> belegt werden.
[<Envelope/Collect>],[<Seal/NotSeal>],[<Kontrollnummerierung>] Beispiel: OMR:ES3;E,,2; bedeutet die Aufbringung der folgenden Striche: Start-Symbol
|
<Orientierung>[;] |
horizontalleft – den Strichcode von links nach rechts ausgeben horizontalright – den Strichcode von rechts nach links ausgeben verticaltopverticalleft - den Strichcode von oben nach unten ausgegeben verticalbottomverticalright – den Strichcode von unten nach oben ausgegeben (default = verticaltop) |
<Strichbreite>[;] |
Breite (Länge) der Striche in mm oder in(inch) |
<Strichhöhe> |
Höhe (Dicke) der Striche in mm oder in(inch) |
Die spezielle Anweisung hat in der Eingabe für CIB format folgendesAussehen:
{ INCLUDEPICTURE "BARCODE:OMR:ES3;E,S,2;verticalleft;10mm;0.5mm;0.16in" }
Offene OMR Strichcodegrafik
Da jede Kuvertiermaschine ihre speziellen Strichfolgen für die einzelnen Funktionen hat, kann man hier direkt die Daten eingeben.
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Barcode oder Strichcode erzeugt werden soll BARCODE:<Typ>;<Daten>;<Orientierung>; |
<Typ>[;] |
OMR |
<Daten>[;] |
0 - Lücke 1 - Strich |
<Orientierung>[;] |
horizontalleft – den Strichcode von links nach rechts ausgeben horizontalright – den Strichcode von rechts nach links ausgeben verticaltopverticalleft - den Strichcode von oben nach unten ausgegeben verticalbottomverticalright – den Strichcode von unten nach oben ausgegeben (default = verticaltop) |
<Strichbreite>[;] |
Breite (Länge) der Striche in mm oder in(inch) |
<Strichhöhe>[;] |
Höhe (Dicke) der Striche in mm oder in(inch) |
<Lückenhöhe>[;] |
Höhe (Dicke) der Lücken in mm oder in(inch) Die Lückenhöhe beinhaltet auch den Strich. |
Beispiel in einem vertikalen Barcode:
Die spezielle Anweisung hat in der Eingabe für CIB format folgendes Aussehen:
{ INCLUDEPICTURE "BARCODE:OMR;101011;verticalleft;10mm;0.5mm;0.16in;" }
Dynamisches Generieren eines DataMatrix ECC 2D Barcodes
Die in den Kapiteln „Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument“ bis „Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion“ beschriebenen Verfahren können auch zum Einfügen von Datamatrix Barcodes genutzt werden. Diese enthalten folgende Information:
Spezielle DataMatrix ECC 2D Barcodes
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Bar- oder Strichcode erzeugt werden soll BARCODE:<Typ>;<Daten>;...... |
<Typ>[;] |
Typbezeichnung "DataMatrix" angeben |
<Subtyp>[;] |
Subtypbezeichnung: "ECCn" (n=1-200), default: ECC200 |
<Wert>[;] |
Der individuelle Wert, den der Barcode darstellen soll |
<Orientierung>[;] |
horizontalleft – den Symbolcode von links nach rechts ausgeben horizontalright – den Symbolcode von rechts nach links ausgeben verticaltopverticalleft - den Symbolcode von oben nach unten ausgegeben verticalbottomverticalright – den Symbolcode von unten nach oben ausgegeben Default: horizontalleft |
<Breite>[;] |
Gewünschte Breite in der sich der Wert abbilden soll (in mm). Die Berechnung der Symbolgröße erfolgt dann automatisch. |
<Höhe>[;] |
Gewünschte Höhe in der sich der Wert abbilden soll (in mm), Die Berechnung der Symbolgröße erfolgt dann automatisch. |
<Matrixgröße>[;] |
Es kann die Anzahl der Zeilen und Spalten vorgeben werden: Gültige Werte sind "s" für "Square" (=quadratisches Symbol) oder "r" für "Rectangle" ( = rechteckiges Symbol). Noch nicht implementiert! Gültige Werte sind bei Quadraten: 10x10,12x12,14x14, 16x16, 18x18, 20x20,22x22,24x24, 26x26, 32x32, 36x36, 40x40,44x44,48x48, 52x52, 64x64, 72x72, 80x80,88x88,96x96, 104x104, 120x120, 132x132, 144x144, bei Rechtecken: 8x18, 8x32, 12x26, 12x36, 16x36, 16x48 |
<Codepage>[;] |
Codepage die benutzt wird, um den übergebenen Wert intern zu übersetzen (default: ansi). Gültige Werte: ansi |
<Prüfziffer>[;] |
Die Prüfziffer gibt es bei diesem BarcodeType nicht. Es ist nur ein leerer Platzhalter erforderlich. |
<Komprimierung>[;] |
Bei der Komprimierung von Datamatrix Barcodes wird der Datentyp ASCII Methode unterstützt. Es ist nur ein leerer Platzhalter erforderlich. Komprimierungsmethode benutzt eine ASCII-Komprimierung oder eine C40-Komprimierung für den Datamatrix Barcode.
Gültige Werte: auto – benutzt alle Komprimierungen um den kleinstmöglichen Barcode zu bekommen(default) yes – ASCII-Komprimierung wird immer verwendet no – kein ASCII-Komprimierung wird verwendet |
<Barcodeform> (ab CIB format 5.3.236) |
Die Barcodeform wird nicht mehr ausgewertet. Es ist nur ein leerer Platzhalter erforderlich. Die erzeugten Barcodes können quadratische oder rechteckige Form haben. Gültiger Wert: only-square Eine quadratische Form wird fest vorgegeben . |
{ INCLUDEPICTURE "BARCODE:DataMatrix;ECC200;ABC123456789Z;horizontalleft;28mm;28mm;22x22;ansi;;;" }
Komprimierungsmethode des Datamatrix Barcodes
Bei der Komprimierung von Datamatrix Barcodes wird der Datentyp ASCII Methode unterstützt. Die ASCII-Komprimierung wird benutzt um Daten, welche hauptsächlich ASCII-Zeichen(0-127) beinhalten, zu komprimieren. Es werden ein alphanumerische Zeichen oder zwei numerische Zeichen pro Byte kodiert.
Größendarstellung von Data Matrix Code ECC 200
Untere Aufstellung gibt Auskunft, wie viele Daten in einen Data Matrix Code passen:
Quadratische Symbole
Darstellbare Daten |
||||
Symbolanzahl |
Alpha-numeri-sche Ziffern |
Alpha-numeri-sche Zeichen |
Byte |
Maximal korrigier-bare Fehler |
10x10 |
6 |
3 |
1 |
2 |
12x12 |
10 |
6 |
3 |
3 |
14x14 |
16 |
10 |
6 |
5 |
16x16 |
24 |
16 |
10 |
6 |
18x18 |
36 |
25 |
16 |
7 |
20x20 |
44 |
31 |
20 |
9 |
22x22 |
60 |
43 |
28 |
10 |
24x24 |
72 |
52 |
34 |
12 |
26x26 |
88 |
64 |
42 |
14 |
32x32 |
124 |
91 |
60 |
18 |
36x36 |
172 |
127 |
84 |
21 |
40x40 |
228 |
169 |
112 |
24 |
44x44 |
288 |
214 |
142 |
28 |
48x48 |
348 |
259 |
172 |
34 |
52x52 |
408 |
304 |
202 |
42 |
64x64 |
560 |
418 |
278 |
56 |
72x72 |
736 |
550 |
366 |
72 |
80x80 |
912 |
682 |
454 |
96 |
88x88 |
1152 |
862 |
574 |
112 |
96x96 |
1392 |
1042 |
694 |
136 |
104x104 |
1632 |
1222 |
814 |
168 |
120x120 |
2100 |
1573 |
1048 |
204 |
132x132 |
2608 |
1954 |
1302 |
248 |
144x144 |
3116 |
2335 |
1556 |
310 |
Rechteckige Symbole
Darstellbare Daten |
|||||
Symbolanzahl |
Ziffern |
Zeichen |
Byte |
Maximal korrigierbare Fehler |
|
8x18 |
10 |
6 |
3 |
7 |
|
8x32 |
20 |
13 |
8 |
11 |
|
12x24 |
32 |
22 |
14 |
32 |
|
12x36 |
44 |
31 |
20 |
44 |
|
16x36 |
64 |
46 |
30 |
64 |
|
16x48 |
98 |
72 |
47 |
98 |
Regeln für DataMatrix ECC 2D Barcodes
Folgende Regeln werden in unten genannter Reihenfolge auf die Aufrufparameter eines Datamatrix-Barcodes angewendet (Auszug aus dem Programmcode):
1) no MM size (no width and no height), no matrix size (no NxN)
a) matrix - first smallest suitable matrix size
b) cell size - 1x1 mm
2) no MM size, largest matrix size
a) matrix - largest matrix size
b) cell size - 1x1 mm
3) no MM size, too small matrix size
a) matrix - first smallest suitable matrix size
b) cell size - 1x1 mm
4) no MM size, wrong matrix size
a) matrix - first smallest suitable matrix size
b) cell size - 1x1 mm
5) MM size (width is set, no height), matrix size (all cases 1-4)
a) matrix - according to case 1-4
b) cell size = [width / matrix.cx, width / matrix.cx] (mode which allow to scale the whole barcode by x-axis)
6) MM size (no width, height is set), matrix size (all cases 1-4)
a) matrix - according to case 1-4
b) cell size = [height / matrix.cy, height / matrix.cy] (mode which allow to scale the whole barcode by y-axis)
7) MM size (width is set, height is set), matrix size (all cases 1-4)
a) width / matrix.cx == height / matrix.cy (i.e. correct proportion was set)
b) matrix - according to case 1-4
c) cell size = [width / matrix.cx, height / matrix.cy]
d) width / matrix.cx != height / matrix.cy (i.e. incorrect proportion was set)
e) matrix - according to case 1-4
f) cell size = [width / matrix.cx, width / matrix.cx]
Dynamisches Generieren eines QR-Barcodes
Die in den Kapiteln „Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument“ bis „Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion“ beschriebenen Verfahren können auch zum Einfügen von QR-Barcodes genutzt werden. Diese enthalten folgende Information:
QR-Barcode
(ab CIB format
Version 5.3.237, bzw. 6.0.14)
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Bar- oder Strichcode erzeugt werden soll. Syntax: BARCODE:<Typ>“;" <Wert> ";" <Orientierung> ";" <Breite> ";" <Höhe> ";" <Matrixgröße> ";" <Codepage> “;” <Prüfziffer/Korrekturlevel> “;” <Komprimierung> |
<Typ>[;] |
Typbezeichnung "QR" angeben |
<Wert>[;] |
Der individuelle Wert, den der Barcode darstellen soll |
<Orientierung>[;] |
horizontalleft – den Symbolcode von links nach rechts ausgeben horizontalright – den Symbolcode von rechts nach links ausgeben verticaltopverticalleft - den Symbolcode von oben nach unten ausgegeben verticalbottomverticalright – den Symbolcode von unten nach oben ausgegeben Default: horizontalleft |
<Breite>[;] |
Gewünschte Breite in der sich der Wert abbilden soll (in mm). |
<Höhe>[;] |
Gewünschte Höhe in der sich der Wert abbilden soll (in mm). |
<Matrixgröße>[;] |
Keine Eingabe. |
<Codepage>[;] |
Codepage die benutzt wird, um den übergebenen Wert intern zu übersetzen (default: ansi). Gültige Werte: ansi |
<Prüfziffer/Korrekturlevel>[;] |
Die Prüfziffer gibt es bei 2D-Barcodes nicht. Hier kann aber das Korrekturlevel (ECL) angegeben werden. Das Level geht von 0 (gering Korrektur) bis 3 (maximale Korrektur = default). Level Parameter Korrektur-Möglichkeit L ECL0 7% zerstörte Information M ECL1 15% zerstörte Information Q ECL2 25% zerstörte Information H ECL3 30% zerstörte Information
Mögliche Eingaben: nochecksum|ECL0|ECL1|ECL2|ECL3 |
<Komprimierung> |
Bei QR-Barcodes gibt es keine Komprimierung. |
Beispiel für einen QR-Barcode:
{ INCLUDEPICTURE "BARCODE:QR;Test QR-Code;horizontalleft;20;20;;ansi;ECL1;" }
Dynamisches Generieren eines PDF417-Barcodes
Die in den Kapiteln „Dynamisches Generieren der Barcodegrafik in einem Platzhalter im Dokument“ bis „Dynamisches Generieren der Barcodegrafik über eine CIB format Callbackfunktion“ beschriebenen Verfahren können auch zum Einfügen von PDF417-Barcodes genutzt werden. Diese enthalten folgende Information:
PDF417-Barcode
(ab CIB format
Version 5.3.225, bzw. 6.0.6)
Anweisung |
Bedeutung |
BARCODE: |
Kennzeichnung, dass ein Bar- oder Strichcode erzeugt werden soll. Syntax: BARCODE:<Typ>“;”<Subtyp> ";" <Wert> ";" <Orientierung> ";" <Breite> ";" <Höhe> ";" <Matrixgröße> ";" <Codepage> “;” <Prüfziffer/Korrekturlevel> “;” <Komprimierung> |
<Typ>[;] |
Typbezeichnung "PDF417" angeben |
<Subtyp>[;] |
Leer, wird derzeit nicht unterstützt. Es ist nur ein leerer Platzhalter erforderlich. |
<Wert>[;] |
Der individuelle Wert, den der Barcode darstellen soll |
<Orientierung>[;] |
horizontalleft – den Symbolcode von links nach rechts ausgeben horizontalright – den Symbolcode von rechts nach links ausgeben verticaltopverticalleft - den Symbolcode von oben nach unten ausgegeben verticalbottomverticalright – den Symbolcode von unten nach oben ausgegeben Default: horizontalleft |
<Breite>[;] |
Gewünschte Breite in der sich der Wert abbilden soll (in mm). |
<Höhe>[;] |
Gewünschte Höhe in der sich der Wert abbilden soll (in mm). Wenn die Angaben von Höhe und/oder Breite fehlen, wird die Größe des Barcodes aus der Matrixgröße und einer Standard-Balkengröße von 1mm x 1mm berechnet. |
<Matrixgröße>[;] |
Dimension der Matrix für den PDF417-Barcode.
<Faktor> gibt das Verhältnis Zeilen zu Spalten in der Form <#.#> an. Aus Breite, Höhe und Matrixgröße wird automatisch die Balkengröße berechnet. Diese Angabe ist nicht zwingend erforderlich. Bei Fehlen wird als Default ein Faktor von 0.5 angenommen. |
<Codepage>[;] |
Codepage die benutzt wird, um den übergebenen Wert intern zu übersetzen (default: ansi). Gültige Werte: ansi |
<Prüfziffer/Korrekturlevel>[;] |
Die Prüfziffer gibt es bei 2D-Barcodes nicht. Hier kann aber das Korrekturlevel (ECL) angegeben werden. Das Level geht von 0 (keine Korrektur = default) bis 8 (sehr große Korrekturmöglichkeiten).
Mögliche Eingaben: nochecksum|ECL0|ECL1|ECL2|ECL3|ECL4|ECL5|ECL6|ECL7|ECL8 |
<Komprimierung> |
Bei PDF417-Barcodes gibt es keine Komprimierung. |
Beispiel für einen PDF417-Barcode:
{ INCLUDEPICTURE "BARCODE:PDF417;;ABC123456789Z;horizontalleft;20;40;;;ECL2" }