Ziel in diesem Artikel ist es, mit Hilfe der java Library Zxing, ein java.awt.Image einer gültigen und maschinenlesbaren Datamatrix zu erzeugen. Zxing stellt schon die funktiontüchtige Klasse DatamatrixWriter zur Verfügung, diese ist nutzbar für den Hausgebrauch und einfachen Handyscannern, jedoch müssen für die Erzeugung eines gültigen Codes nach GS1-Standard ein paar Kleinigkeiten im Source-Code der Zxing-Library eingefügt werden.
Die Datamatrix ist eine zweidimensionale Abbildung von Information. Jedes Zeichen der Information ist maschinennahr in Byte bzw 8 Bits, gesetzt schwarz, nicht gesetzt weiß, abgebildet. Die Zeichen werden zusammengefasst zu Code-Wörtern, welche, von einer zu Anfang jedes Code-Wortes, einleitender 2-3stelliger Zeichenfolge identifiziert werden, den sogenannten "Application Identifier". Der Application Identifier gibt an welche Daten nach der GS1-Spezifikation folgen werden.
Eine gültige Matrix enthält das Codeword FNC1 am Anfang und vor jedem Codeword mit variabler Länge (abhängig vom Application Identifier). Jedoch ist diese FNC1 nicht in den zu verschlüsselnden Daten enthalten und auch nicht in der lesbaren Ausgabe.
FNC1 Codeword generieren
Core Library ändern/anpassen
String bearbeiten
Beispiele: zwei Variable Datenfelder