Stempelmacher

Mit zunehmender Verbreitung von Smartphones haben sich auch die aus Japan stammenden QR-Codes hierzulande eingebürgert. Zum Erzeugen der pixeligen Etiketten gibt es eine Reihe unterschiedlicher Werkzeuge.

In Pocket speichern vorlesen Druckansicht 18 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Michael Riepe

Vor einigen Jahren waren QR-Codes (Quick-Response-Codes) in Europa noch eine Randerscheinung. Inzwischen begegnen die quadratischen Pixelmuster dem Nutzer gefühlt an jeder U-Bahn- oder Bushaltestelle – und dank Apple, Android und Co. hat ein nicht unerheblicher Teil der Bevölkerung ein geeignetes Lesegerät bereits in der Tasche.

Die Kontaktdaten des Autors als QR-Code

Wer dem Smartphone-Besitzer etwas mitteilen möchte, tut das per QR-Code. Nicht zuletzt erspart er ihm damit das mühsame und fehlerträchtige Abtippen von Telefonnummern oder URLs. Je nach Größe und Anteil der Fehlerkorrektur-Bits lassen sich in einem Bild bis zu 2953 Byte, 4296 alphanumerische Zeichen oder 7089 Ziffern speichern (siehe „Alle Links“, [a]). Zwar kann man darin nicht die sprichwörtlichen tausend Worte unterbringen, der Platz genügt jedoch für den Inhalt einer Visitenkarte im vCard-Format (siehe Abbildung) oder eine halbe Seite Text aus iX.

Erzeugen lassen sich QR-Codes zum Beispiel mit Googles Chart Tools [b]. Ein Aufruf der URL chart.googleapis.com/chart?chs=250x250&cht=qr&chl=<text> liefert den QR-Code zum angegebenen Text als 250 x 250 Pixel große Bilddatei im PNG-Format. Der Online-Generator des ZXing-Projekts [c] demonstriert, wie man mit dem Google-Dienst spezielle Informationen wie Kalendereinträge, Visitenkarten, Telefonnummern oder URLs codiert, und zeigt den passenden HTML-Code zum Einbinden in die eigene Webseite gleich mit an.

Das schweizerische Unternehmen Kaywa bietet einen eigenen Generator, der jedoch nur das Codieren von Text, URLs, Telefonnummern und Kurznachrichten beherrscht [d]. Unter goqr.me stellt ikt.werk einen kostenlosen Generator bereit, der zusätzlich das vCard-Format beherrscht [e]. Das Verwenden der dem Dienst zugrunde liegenden API [f] steht jedem frei – ausdrücklich auch für den kommerziellen Einsatz. Gewährleistung und eine Verfügbarkeitsgarantie gibt es allerdings nur gegen Bezahlung, ebenso den PHP- und C++-Quellcode zum Einsatz auf dem eigenen Server.

Wer an der Funktionsweise von QR-Codes interessiert ist, findet mehr Informationen sowie Perl-, PHP-, Java- und Ruby-Code bei Y. Swetake [g]. Leo Howells Bibliothek libqr enthält einen in C geschriebenen Generator, der QR-Codes im PBM-Format oder als ANSI-Klötzchengrafik erzeugt [h]. Leider fehlt zum Public-Domain-Quellcode jede Dokumentation – sofern man nicht den Programmtext selbst als solche erachtet. Allzu schwierig ist das Verwenden der Bibliothek jedoch nicht, wie das Beispielprogramm qrgen.c zeigt.

In puncto Handbuch besser ausgestattet ist Kentaro Fukuchis unter der LGPL stehende Bibliothek libqrencode [i]. Mit doxygen [j] lässt sich aus der Header-Datei qrencode.h Dokumentation im HTML-Format erzeugen. Doch auch sonst hat libqrencode mehr zu bieten. Der beiliegende Kommandozeilen-Encoder qrencode erzeugt normalerweise PNG-Dateien, beherrscht jedoch auch ANSI- und ASCII-Grafik sowie Embedded PostScript (EPS). Beim PNG-Format kann der Nutzer mit –d <dpi> die gewünschte Druckauflösung einstellen. Die Option –s <pixel> legt die Größe eines „Module“ (eines einzelnen Punktes) fest – voreingestellt sind (3 x) 3 Pixel. Mit –m <pixel> lässt sich analog die Breite der Umrandung festlegen.

Außerdem gestattet es das Programm, mit –l <level> die obligatorische Vorwärts-Fehlerkorrektur (Forward Error Correction, FEC) einzustellen: In den Leveln L, M, Q und H darf die Kamera rund 7, 15, 25 und 30 Prozent der Daten falsch einlesen. Voreingestellt ist L, meist kommt jedoch M zum Einsatz.

Lange Datensätze lassen sich auf bis zu 16 kleinere QR-Codes aufteilen, die das Lesegerät automatisch wieder zusammenfügt („structured append“). Solche Codes lassen sich mit der Option –S erzeugen. Zusätzlich muss der Nutzer mit –v <version> eine bestimmte „Version“ vorgeben – im QR-Code-Jargon ein Maß für die Größe des Symbols, das zwischen 1 und 40 liegen kann. Bei einfachen QR-Codes hingegen empfiehlt es sich, das Programm eine passende Version automatisch wählen zu lassen.

Wer QR-Codes statt ins Web auf Papier bringen will, kann die Bildchen in einem geeigneten Format – etwa EPS – in seine Dokumente einbinden. Es geht jedoch auch anders: Terry Burtons Barcode Writer in Pure PostScript [k] kann eine Vielzahl von Strich- und 2D-Codes direkt im (PostScript-)Drucker erzeugen, darunter auch QR-Codes. Dazu muss man lediglich die unter der MIT-Lizenz stehende Datei barcode.ps in seinen eigenen PostScript-Code einbinden und mit

(<text>) (<optionen>) /qrcode 
/uk.co.terryburton.bwipp findresource exec

den QR-Code-Generator aufrufen. Optionen haben die Form <option>=<wert>: eclevel=L etwa stellt die Fehlerkorrektur auf die niedrigste Stufe, version=<nummer> wählt eine bestimmte Symbolversion aus.

Alle Links: www.ix.de/ix1205155 (mr)