Erstellen eines QR-Code

Falls man jemandem einen Website-Link auf eine viel coolere Art und Weise schicken möchte, dann kann man dies auf einfache Weise per QR-code erreichen.

In diesem kurzen Beitrag wird ein QR-Code in Python mit qrcode, pillow und nur fünf Zeilen Code erstellt.

Was ist ein QR-Code?

Der QR-Code, kurz für Quick Response Code, wurde ursprünglich 1994 von einem japanischen Technologieunternehmen erfunden. Es handelt sich um einen 2D-Strichcode mit schwarzen Mustern auf weißem Hintergrund. Dies ist jedoch kein gewöhnliches Gekritzel: QR-Codes sind in der Lage, riesige Datenmengen auf täuschend kleinem Raum zu speichern. Diese schwarzen Rechtecke können Links, Text, im Grunde alles, was man möchte, speichern… und können durch einfaches Scannen von jedem mobilen Gerät abgerufen werden!

Ein QR-Code ist wichtig, da er den Nutzern eine einfache Möglichkeit bietet, auf etwas zuzugreifen, das sich auf einer unkonventionellen Quelle befindet (z. B. auf einem Blatt Papier). Die Platzierung eines QR-Codes auf einem Stück Papier ist für den Benutzer viel besser und schneller als ein Link auf einer Website. Aus diesem Grund werden QR-Codes inzwischen häufiger verwendet als UPC-Strichcodes, und man findet sie auf Speisekarten, Visitenkarten und sogar in der Superbowl-Werbung!

Beispiel

Hinweis: Man kann sein Skript nicht qrcode.py nennen! Das liegt daran, dass qrcode.py eine Datei ist, die bereits als Teil der qrcode-Bibliothek existiert, die man verwendet, und der Aufruf der eigenen Datei unter diesem Namen die Bibliotheksfunktionen überschreiben würde.

Zuerst sind zwei Bibliotheken zu installieren:

  • Die qrcode-Bibliothek: Mit dieser Bibliothek kann man alle QR-Code-bezogenen Operationen durchführen. 
  • Die pillow-Bibliothek: Diese Bibliothek hilft, Bilder zu verarbeiten und zu speichern. 
pip install qrcode pillow

Wenn Pillow nicht installiert wird, ist die Standard image factory ein reiner Python-PNG-Encoder, der pypng verwendet.

Im Beispiel wird ein QR-Code mit einer Version von 1 und einer Feldgröße und Rahmengröße von 5 erstellt.

  • Der Parameter version ist eine ganze Zahl zwischen 1 und 40, die die Größe des QR-Codes bestimmt. 
  • Der Parameter box_size legt fest, wie viele Pixel jede „Box“ des QR-Codes hat. 
  • Der Parameter border legt fest, wie viele Kästchen der Rahmen dick sein soll. 

In der Dokumentation findet man weitere Informationen über die Parameter in qrcode.QRCode(…).

Nachdem mit make() ein QR-Code erzeugt wurde, wird daraus mit make_image() ein pillow-Objekt erzeugt, das dann als Bilddatei gespeichert wird.

import qrcode

website_link = 'https://jereczek.info/'     # URL, zB. zu einer Webseite, Youtube-Video oder Bild
qr = qrcode.QRCode(version = 1, box_size = 5, border = 5)
qr.add_data(website_link)
qr.make()

img = qr.make_image(fill_color = 'black', back_color = 'white')
img.save('blog_url.png')     # Name der Bilddatei, in der der QR-Code gespeichert wird

 

Beispiel für QR-Code