AA_vc-1_123rf-17954301_lucadp.jpg

© lucadp, 123RF

Stark vereinfacht

QR-Codes unter Linux erzeugen und lesen

13.05.2013
QR-Codes dechiffrieren Sie nicht nur mit dem Smartphone, sondern auch unter Linux. Mit den passenden Werkzeugen erstellen Sie zudem im Nu eigene Code-Quadrate, etwa mit Ihrer Adresse für die Visitenkarte.

Wenn die Kassiererin mehrfach den Salatkopf über den Scanner zieht und dann laut "Tina" schreit, war wieder einmal der aufgeklebte Barcode unleserlich. In der Warteschlange beim Einkauf äußert sich eine Verzögerung eventuell in einem Seufzer, aber bei der Autoproduktion geht Stillstand schnell ins Geld. Das sah das Unternehmen Toyota genauso und ließ daher schon 1994 die Tochterfirma Denso Wave einen neuen Code entwickeln, um Teile im Lager zu erfassen.

Der neue Code sollte mehr Informationen speichern als der klassische Barcode und zudem auch dann noch zu lesen sein, wenn das Etikett schmutzig, zerknittert oder teilweise abgerissen war. Heraus kam der Quick Response Code, kurz QR-Code. Er besteht nicht mehr nur aus Strichen, sondern aus einem Quadrat mit bis zu 177 mal 177 Punkten. In diesen verstecken sich wiederum bis zu 4296 Zeichen, beim Barcode sind es gerade einmal 13.

Dank zahlreicher kostenloser Lese-Apps für Smartphones gewannen QR-Codes in den letzten Jahren zunehmend an Beliebtheit. Egal ob Plakat, Katalog, Zeitschrift, auf Visitenkarten oder im Fernsehen: Fast überall bieten die kleinen Karos Zusatzinformationen oder URLs zu weiterführenden Websites an.

Datenkraken

Möchten Sie einen solchen QR-Code mit Ihrer Adresse für eine Visitenkarte erstellen, könnten Sie sich jetzt auf einen der unzähligen Dienste im Internet stürzen. Die verbinden das Angebot jedoch meist mit Einschränkungen. So erlauben einige nur QR-Codes mit einer bestimmten Größe oder in begrenzten Stückzahlen. Zudem wissen Sie nie sicher, was die Dienste mit Ihren Daten anstellen.

Einige erlauben sich in den Nutzungsbedingungen sogar explizit die Weitergabe und den Verkauf der Daten an Dritte – dann ist zukünftig eintrudelnder Werbemüll quasi vorprogrammiert. Glücklicherweise gibt es für Linux gleich mehrere Werkzeuge, die ohne solche Probleme QR-Codes erstellen.

Auf Kommando!

Am schnellsten kommen Sie mit dem Kommandozeilenprogramm Qrencode [1] zu einem QR-Code. Das installieren Sie bei allen gängigen Distributionen schnell über den Paketmanager nach. Anschließend erstellen Sie mit folgendem Befehl einen QR-Code, der den Text "Hallo Welt!" enthält (Abbildung 1):

$ qrencode -o qrcode.png 'Hallo Welt!'
Abbildung 1: Hier kodiert Qrencode die Zeichenkette Hallo Welt! als QR-Code und speichert diesen in der Datei qrcode.png.

Der erzeugte QR-Code liegt dann in der Datei qrcode.png. Sollte schon eine Datei gleichen Namens existieren, überschreibt das Werkzeug sie ohne Rückfrage. Neben dem PNG-Format erzeugt Qrencode auf Wunsch eine ASCII-Ausgabe (Abbildung 2) oder eine EPS-Grafik:

$ qrencode -t EPS -o qrcode.eps 'Hallo Welt!'
Abbildung 2: Mehr eine Spielerei ist die Ausgabe des QR-Codes als ASCII-Zeichen. Zuständig ist dafür der Parameter -t ASCII. Jeder Punkt entspricht dann einem #.

Um den eigentlichen Code herum erzeugt die Software einen weißen Rand in der Breite eines Punkts innerhalb der Grafik. Das erleichtert später den Programmen beziehungsweise den Smartphones das Dechiffrieren. Bei Bedarf vergrößern oder verkleinern Sie den Rand mit dem Parameter -m, im folgenden Beispiel ist er Rahmen zehn Punkte breit:

$ qrencode -m 10 -o qrcode.png 'Hallo Welt!'

Speichern Sie den QR-Code im PNG-Format, gibt der Parameter -s an, wie viele Pixel groß ein schwarzer QR-Code-Punkt ausfällt. Standardmäßig malt Qrencode jeden schwarzen Punkt mit drei mal drei Pixeln. Mit dem folgenden Befehl erzeugt das Programm einen etwas kleineren QR-Code mit recht breitem Rand:

$ qrencode -s 2 -m10 -o qrcode.png 'Hallo Welt!'

Um den gesamten QR-Code erscheint dabei ein weißer Rand, der genau 20 Bildschirmpixel breit ist (10 QR-Code-Punkte in der Breite, jeder Punkt zwei Pixel groß). Wenn Sie EPS-Bilder erzeugen, steht nur den Parameter -m bereit, -s verschiebt dort den gesamten QR-Code aus dem Bild.

TIPP

Mit dem Parameter -d gibt Qrencode die Auflösung in DPI vor. Diesen Wert schreibt das Programm allerdings nur als Information in das Bild.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 05/2015: Daten visualisieren

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 4 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Admin Probleme mit Q4os
Thomas Weiss, 30.03.2015 20:27, 6 Antworten
Hallo Leute, ich habe zwei Fragen zu Q4os. Die Installation auf meinem Dell Latitude D600 verl...
eeepc 1005HA externer sound Ausgang geht nicht
Dieter Drewanz, 18.03.2015 15:00, 1 Antworten
Hallo LC, nach dem Update () funktioniert unter KDE der externe Soundausgang an der Klinkenbuc...
AceCad DigiMemo A 402
Dr. Ulrich Andree, 15.03.2015 17:38, 2 Antworten
Moin zusammen, ich habe mir den elektronischen Notizblock "AceCad DigiMemo A 402" zugelegt und m...
Start-Job behindert Bootvorgang, Suse 13.2, KDE,
Wimpy *, 20.02.2015 10:32, 4 Antworten
Beim Bootvorgang ist ein Timeout von 1 Min 30 Sec. weil eine Partition sdb1 gesucht und nicht gef...
Konfiguration RAID 1 mit 2 SSDs: Performance?
Markus Mertens, 16.02.2015 10:02, 6 Antworten
Hallo! Ich möchte bei einer Workstation (2x Xeon E5-2687Wv3, 256GB RAM) 2 SATA-SSDs (512GB) al...