Eine Java-Klasse zum Erzeugen von EAN-8 und EAN-13 Barcodes. Beispielausgabe:
Der Quelltext: Barcode.java
Wichtig bei der Barcode-Generierung ist die Auflösung. Der EAN-13 Barcode besteht z.B. aus 113 sogenannten Moduln in der Breite, also Basisbreiten. Der erste Strich ganz links ist z.B. 1 Modul breit, dann kommt eine 1 Modul breite Lücke usw. Einzelne Moduln sind allerdings um 1/13 in der Breite vergrößert bzw. verkleinert, damit die Erkennungsrate beim Scannen besser wird. Daher braucht man für eine exakte Reproduktion also 113*13=1469 Pixel in der Breite, was z.B. ein 1600 dpi Laserdrucker bis hinunter zu ca. 3 cm schafft.
Die naive Implementierung per Graphics#draw-Routinen und in ein Image zu zeichnen, ist allerdings sehr speicherhungrig. Eine Alternative wäre ein Vektorformat, wie PDF, in dem man die Barcodes z.B. mit FOP per eingebettetem SVG erzeugen könnte.
Es gibt übrigens eine frei verwendbare Libary, die bereits FOP unterstüzt und viele weitere Barcodes kann: Krysalis.