QR Code API: Befehl „create-qr-code“ (QR Code erstellen, QR Code Generator)

Inhaltsverzeichnis

1.0 Allgemeines

Auf dieser Seite wird der Befehl create-qr-code unserer QR Code API („Application Programming Interface“, Programmierschnittstelle) beschrieben, mit dessen Hilfe auch der QR Code Generator unter goQR.me betrieben wird.

Mit diesem Befehl können Sie selbst einen QR Code generieren / erstellen und in Ihren Projekten verwenden (programmieren Sie sich z.B. Ihren persönlichen QR Code Generator).

1.1 Nutzungsbedingungen

Siehe Nutzungsbedingungen: QR Code API.

Sonstige, ggf. nützliche Informationen: Es gibt kein API-Anfragen-Limit. Dennoch behalten wir uns das Recht vor, API-Anfragen abzulehnen. Dies gilt insbesondere für Anfragen, welche wir als missbräuchlich oder unangebracht interpretieren (zum Beispiel weil es sich offensichtlich um eine DoS-Attacke handelt). Zu diesem Zwecke loggen wir die Herkunft aller Aufrufe (Referrer sowie IP-Adresse), jedoch nicht die QR Code-Inhalte. Um uns die Arbeit zu erleichtern, lassen Sie uns am Besten wissen, wenn Sie denken, dass Ihr Dienst regelmäßig mehr als 10 000 Anfragen pro Tag verursacht oder Ihr Dienst Ihrer Meinung nach zu unrecht geblockt wird.

2.0 Schnelleinstieg

Stellen Sie einen GET-Request der folgenden Form an unser System, um eine QR Code-Grafik im PNG-Format zu erhalten (also einen QR Code zu generieren):
http(s)://api.qrserver.com/v1/create-qr-code/?data=[URL-codierter-Text]&size=[Pixel]x[Pixel]

Probieren Sie es direkt in Ihrem Browser aus indem Sie die folgende URL aufrufen:
http://api.qrserver.com/v1/create-qr-code/?data=HelloWorld!&size=100x100

Sie können einen QR Code folglich einfach in Ihre (X)HTML-Dokumente via <img>-Tag einbinden. Der <img>-Tag
<img src="https://api.qrserver.com/v1/create-qr-code/?data=HelloWorld&amp;size=100x100" alt="" title="" />
erzeugt/generiert beispielsweise folgende QR Code-Grafik:

Um Probleme mit Sonderzeichen zu vermeiden ist es ratsam, den Zeichensatz der von Ihnen übergebenen Daten über den charset-source-Parameter anzugeben.

3.0 Parameter

Ihnen stehen eine Reihe von Parametern zu Verfügung um die QR Code-Generierung zu steuern. Hängen Sie zusätzliche Parameter einfach via &[parameter-name]=[parameter-wert] an Ihre Anfrage an.

Alle Parameter können via HTTP-GET oder -POST übergeben werden. Auch ein Mix beider Methoden ist möglich. Bei gleichzeitiger Angabe eines Parameters via POST und GET wird der Wert des GET-Parameters bevorzugt.

3.1 data-Parameter (Pflichtangabe)

Der Text den der QR Code enthalten soll (URL codiert, PHP-Programmierer können z.B. urlencode() nutzen).

  • Minimale Zeichenanzahl:
    1
  • Maximale Zeichenanzahl:
    Hängt u.a. vom ecc-Parameter (je mehr Redundanzdaten, desto weniger Zeichen passen in den QR Code) und weiteren Faktoren ab, die den Rahmen dieser Kurzbeschreibung sprengen würden. Weniger als 900 Zeichen sollte im Allgemeinen immer funktionieren.
  • Empfehlung:
    Je kürzer desto besser. Da viele ältere Handy-Reader Probleme mit QR Codes >Version 4 (entspricht einer Matrix von 33×33 Elementen) haben, sollten so wenig Daten wie möglich hinterlegt werden. Bei sehr langen URLs ist es daher sinnvoll Kurz-URL-Dienste wie bitly zu nutzen. Industrielle Lesegeräte sollten jedoch keine Probleme mit komplexeren Codes haben.

3.2 size-Parameter (optional)

Gibt die Ausmaße der zu generierenden QR Code-Grafik an (in px falls ein Rastergrafikformat wie png, gif oder jpeg genutzt wird; als logische Einheit sofern ein Vektorformat (svg, eps) zum Einsatz kommt).

  • Format:
    [Zahl]x[Zahl]
  • Minimalwert:
    10x10
  • Maximalwert:
    1000x1000 (sofern format=png|gif|jpeg|jpg),
    1000000x1000000 (sofern format=svg|eps)
  • Gültige Beispiele:
    50x50
    750x750
  • Fehlerhafte Beispiele:
    50x60 (ungleiche Kantenlänge)
    90000x90000 (maximale Größe überschritten)
    9x9 (minimale Größe unterschritten)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    200x200

3.3 charset-source-Parameter (optional)

Der Zeichensatz mit welchem der über den data-Parameter übergebene Text codiert ist. Hinweis: Sie müssen sich nicht um ggf. notwendige Konvertierungen kümmern, falls charset-source und charset-target verschiedene Werte haben, nimmt unsere API alle nötigen Zeichensatzkonvertierungen automatisch vor.

  • Mögliche Werte:
    ISO-8859-1
    UTF-8
  • Fehlerhafte Beispiele:
    utf-8 (falsche Schreibweise, alles klein statt groß)
    iso-8859-1 (falsche Schreibweise, alles klein statt groß)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    UTF-8

3.4 charset-target-Parameter (optional)

Der Zeichensatz, welcher dazu verwendet werden soll, den über den data-Parameter übergebenen Text innerhalb des QR Codes zu speichern. Hinweis: Sie müssen sich nicht um ggf. notwendige Konvertierungen kümmern, falls charset-source und charset-target verschiedene Werte haben, die API nimmt alle nötigen Konvertierungen automatisch vor.

  • Mögliche Werte:
    ISO-8859-1
    UTF-8
  • Fehlerhafte Beispiele:
    utf-8 (falsche Schreibweise, alles klein statt groß)
    iso-8859-1 (falsche Schreibweise, alles klein statt groß)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    UTF-8
  • Empfehlung:
    Leider sieht der QR Code-Standard nicht vor, den verwendeten Zeichensatz zu speichern. Das bedeutet, dass QR Code-Lesegeräte den Zeichensatz „erraten“ müssen oder standardmäßig von z.B. UTF-8 oder einer ISO-8859-Codierung ausgehen (s. auch Artikel zum Thema). Einige ältere Lese-Software ignoriert auch einfach alle Nicht-ASCII-Zeichen. Wir hatten aber im Allgemeinen keine besonderen Probleme mit ISO-8859-1 hinsichtlich sehr alten Lesegeräten. Wenn Sie keine Unterstützung für sehr alte Software/Geräte benötigen und Sonderzeichen verwendet werden, sollen Sie diesen Parameter auf UTF-8 setzen. Wenn Sie in jedem Fall auf der sicheren Seite sein wollen sollten Sie ausschließlich die folgenden Zeichen (=Standard ASCII) für Ihren zu speichernden QR Text verwenden:
    !"#$%&'()*+,-./0123456789:;<=>?
    @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
    `abcdefghijklmnopqrstuvwxyz{|}~

3.5 ecc-Parameter (optional)

Speichert den Fehlerkorrektur-Code (Error Correction Code, ECC), welcher den Grad der Datenredundanzen bestimmt. Je mehr Datenredundanzen vorliegen, desto mehr Daten können bei Beschädigung des QR Codes (z.B. Kratzer auf einem QR Code-Sticker) korrigiert werden.

  • Mögliche Werte:
    L (low, ~7% zerstörte Daten können korrigiert werden)
    M (middle, ~15% zerstörte Daten können korrigiert werden)
    Q (quality, ~25% zerstörte Daten können korrigiert werden)
    H (high, ~30% zerstörte Daten können korrigiert werden)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    L
  • Empfehlung:
    L. Ein höherer ECC führt zu mehr gespeicherten Daten, also zu einem QR Code mit mehr Datenpixel bzw. einer größerer Datenmatrix. Da viele Handy-Reader Probleme mit QR Codes >Version 4 (entspricht einer Matrix von 33×33 Elementen) Probleme haben, ist die niedrigste Fehlerkorrekturstufe meist die beste Wahl – schlechte Lesegeräte sind schlicht das häufigere Problem als zerstörte QR Codes.

3.6 color-Parameter (optional)

Farbe der Datenelemente als RGB-Angabe.

  • Format:
    Dezimal-Angabe ([0-255]-[0-255]-[0-255]) oder als Hex-Wert in Kurzschreibweise ([a-fA-F] drei Zeichen, z.B. fff für weiß) oder Langschreibweise ([a-fA-F] sechs Zeichen, z.B. ff0000 für rot).
  • Gültige Beispiele:
    255-0-0 (rot),
    f00 (rot),
    FF0000 (rot),
    0-255-0 (grün),
    0f0 (grün),
    00ff00 (grün),
    0-0-255 (blau),
    00f (blau),
    0000ff (blau),
    556B2F (DarkOliveGreen)
  • Fehlerhafte Beispiele:
    300-100-0 (RGB Dezimal-Wert >255),
    GG00AA („G“ ist kein gültiges Zeichen),
    ffaab (Hex-Angabe weder in Kurz- noch Langschreibweise (3 bzw. 6 Zeichen)),
    255-0 (Dezimaler B-Wert fehlt, nur R- und G- gegeben)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    0-0-0 (=schwarz)
  • Empfehlung:
    0-0-0 (schwarz). Ansonsten eine deutlich dunklere Farbe als die des Hintergrunds um einen möglichst guten Kontrast zu erreichen. Eine ggf. hilfreiche Farbauswahl findet sich u.a. unter den sog. Webfarben.

3.7 bgcolor-Parameter (optional)

Farbe des Hintergrunds als RGB-Angabe.

  • Format:
    Dezimal-Angabe ([0-255]-[0-255]-[0-255]) oder als Hex-Wert in Kurzschreibweise ([a-fA-F] drei Zeichen, z.B. fff für weiß) oder Langschreibweise ([a-fA-F] sechs Zeichen, z.B. ff0000 für rot).
  • Gültige Beispiele:
    255-0-0 (rot),
    f00 (rot),
    FF0000 (rot),
    0-255-0 (grün),
    0f0 (grün),
    00ff00 (grün),
    0-0-255 (blau),
    00f (blau),
    0000ff (blau),
    556B2F (DarkOliveGreen)
  • Fehlerhafte Beispiele:
    300-100-0 (RGB Dezimal-Wert >255),
    GG00AA („G“ ist kein gültiges Zeichen),
    ffaab (Hex-Angabe weder in Kurz- noch Langschreibweise (3 bzw. 6 Zeichen),
    255-0 (Dezimaler B-Wert fehlt, nur R- und G- gegeben)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    0-0-0 (=schwarz)
  • Empfehlung:
    255-255-255 (weiß) Ansonsten eine deutlich heller Farbe als die der Datenelemente um einen möglichst guten Kontrast zu erreichen. Eine ggf. hilfreiche Farbauswahl findet sich u.a. unter den sog. Webfarben.

3.8 margin-Parameter (optional)

Dicke eines zu zeichnenden Randes in Pixel. Beachten Sie, dass der Rand die Farbe des Hintergrunds erhält (welche Sie via bgcolor setzen können) und nicht zur via size angegebenen Gesamtgröße dazu gerechnet wird und daher auch nicht größer als ca. ein Drittel der size-Angabe sein darf. Außerdem wird der Rand zusätzlich zu einer ggf. vorhanden qzone-Angabe gezeichnet. Der margin-Parameter wird ignoriert, wenn als QR Code format svg oder eps genutzt wird (also ein QR Code als Vektorgrafik ausgegeben wird).

  • Format:
    [Zahl]
  • Minimalwert:
    0 (=kein Pixelrand)
  • Maximalwert:
    50
  • Gültige Beispiele:
    1
    19
  • Fehlerhafte Beispiele:
    -1 (Minimalwert unterschritten)
    1200 (Maximalwert überschritten)
    a (keine Zahl)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    1

3.9 qzone-Parameter (optional)

Dicke eines zu zeichnenden Randes (=„quiet zone“, ein Randbereich ohne störende Elemente um Lesegeräten das Lokalisieren des QR Codes zu erleichtern), Datenelemente als Maßeinheit. Das bedeutet, dass z.B. ein Wert von 1 dazu führt, dass ein Rand um den QR Code gezeichnet wird, der genauso breit ist, wie ein Datenpixel/element des QR Codes. Beachten Sie, dass der Rand die Farbe des Hintergrunds erhält (welche Sie via bgcolor setzen können) und nicht zur via size angegebenen Gesamtgröße dazu gerechnet wird. Außerdem wird der Rand zusätzlich zu einer ggf. vorhanden margin-Angabe gezeichnet.

  • Format:
    [Zahl]
  • Minimalwert:
    0 (=keine „quiet zone“)
  • Maximalwert:
    100
  • Gültige Beispiele:
    1
    19
  • Fehlerhafte Beispiele:
    -1 (Minimalwert unterschritten)
    1200 (Maximalwert überschritten)
    a (keine Zahl)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    0 (=keine „quiet zone“)
  • Empfehlung:
    Optimale Leseraten setzen eine mindestens 1 Elemente breite „quiet zone“ voraus. Der QR Code-Standard empfiehlt eine „quiet zone“ von 4.

3.10 format-Parameter (optional)

Der QR Code kann in verschiedenen Grafikformaten erzeugt werden, möglich sind hochauflösende PNG, GIF und JPEG sowie die Vektorgrafiken im Format SVG und EPS (QR Code EPS / QR Code SVG), die sich besonders für den professionellen Druck eignen.

  • Mögliche Werte:
    png
    gif
    jpeg
    jpg
    svg
    eps
  • Fehlerhafte Beispiele:
    GIF (falsche Schreibweise, alles groß statt klein)
    Png (falsche Schreibweise, erster Buchstabe groß statt klein)
  • Default (wird verwendet wenn keine oder fehlerhafte Angabe erfolgt):
    png
  • Empfehlung:
    Für Websites: png oder gif. JPEG wurde für natürliche Bilder entwickelt und liefert bei Strichzeichnungen etc. schlechtere Ergebnisse als GIF/PNG.
    Für den QR Druck: svg oder eps, da diese Vektorformate verlustfrei skaliert werden können.