====== QR-Code (Quick Response) mit PHP erstellen ====== ===== Grundlagen ===== Ein QR-Code kann auf einem Printmedium wie z. B. einem Flyer oder einer Visitenkarte gedruckt werden, damit er von einer entsprechenden App für Smartphones eingescannt werden kann. Für den Einsatz eines QR-Codes sind verschiedene Anwendungsbeispiele denkbar: - Internet-Adresse öffnen - Visitenkarte auf dem Smartphone oder Tablet speichern - E-Mail erstellen - SMS erstellen - automatische Einrichtung von WLAN-Zugänge ===== Fehlerkorrektur ===== Ein QR-Code ist mit einer eigenen Fehlerkorrektur ausgestattet. Somit kann er unter Umständen auch noch lesbar sein, wenn er Schmutz, knicke oder risse aufweist. Jedoch wird ein QR-Code mit zunehmender Fehlerkorrektur automatisch größer, da die Korrektur Platz auf der Grafik benötigt. ^ Level ^ Fehlerkorrektur ^ | L (Low) | 7 % | | M (Medium) | 15 % | | Q (Quartile)| 25 % | | H (High) | 30 % | ===== Versionen (Größen) ===== Es gibt 40 verschiedene Größen für einen QR-Code. Die Datenmenge von der Anzahl der Elemente und der Fehlerkorrektur abhängig. Die Werte in den Spalten "Level L" bis "Level H" geben die maximale Anzahl der alphanumerischen Zeichen (also Buchstaben, Zahlen und Sonderzeichen) wieder. ^ Größe ^ Elemente ^ Level L ^ Level M ^ Level Q ^ Level H ^ | 1| 21x21 | 25 | 20 | 16 | 10 | | 2 | 25x25 | 47 | 38 | 29 | 20 | | 3 | 29x29 | 77 | 61 | 47 | 35 | | 4 | 33x33 | 114 | 90 | 67 | 50 | | 5 | 37x37 | 154 | 122 | 87 | 64 | | 6 | 41x41 | 195 | 154 | 108 | 84 | | 7 | 45x45 | 224 | 178 | 125 | 93 | | 8 | 49x49 | 279 | 221 | 157 | 122 | | 9 | 53x53 | 335 | 262 | 189 | 143 | | 10 | 57x57 | 395 | 311 | 221 | 174 | | usw. | jeweils 4 x 4 mehr | | 40 | 177 x 177 | 4.296 | 3.391 | 2.420 | 1.852 | Die komplette Auflistung ist der folgenden Webseite zu entnehmen: http://www.qrcode.com/en/about/version.html ===== PHP-Klasse "QRCode" ===== Unter http://phpqrcode.sourceforge.net/ können Sie sich eine PHP-Klasse für die einfache Erstellung eines QR-Codes herunterladen. Mit dieser Klasse ist es möglich, einen QR-Code zu erstellen und entweder direkt auf der Webseite anzuzeigen oder als Grafik im Rasterformat "JPEG" oder "PNG" oder sogar im Vektorformat "SVG" im Dateisystem zu speichern. Die gespeicherte Grafik kann dann z. B. per [[:fpdf|FPDF]] in ein PDF-Dokument eingefügt werden, wie im folgendem Beispiel gezeigt wird. ===== Code-Beispiel ===== function createQR( $id ) { $text"https://www.zieladresse.de/datei.php?id=" . $id; $filename = "qr_codes/Code_" . $id; include('phpqrcode/qrlib.php'); QRcode::png( $text, $filename, QR_ECLEVEL_M ); return $filename; } $filename = createQR( 9999 ); echo $filename;