Un code QR carré, lisible au téléphone

Dessiner un code QR qui encode une adresse web ou un texte, lu par n'importe quel téléphone, avec sa marge blanche tout autour.

Résumé

Le petit carré de points noirs que l'on vise avec l'appareil photo du téléphone. Une adresse de site, un numéro de commande, un mot de passe de réseau : quoi qu'il encode, le carré se dessine à la taille que le cadre permet, avec la petite marge blanche qui permet au téléphone de le reconnaître du premier coup. Plus le texte est long, plus les points sont fins — pour un code lu de loin, ou imprimé en petit, mieux vaut donc un texte court. Vous pouvez aussi demander un code plus solide, qui se lit encore une fois éraflé ou déchiré : il contient le même texte dans un carré un peu plus grand.

Techniquement

Demandé avec "type": "qr"

La part du code gardée en réserve pour le ramener à bon port lorsqu'il est abîmé, et la façon dont le code épelle ce qu'il transporte, sont toutes deux énoncées plutôt que devinées. En leur absence, le texte est épelé octet par octet, ce qui couvre l'ASCII comme l'UTF-8, et quinze parts sur cent environ sont gardées en réserve — ce à quoi le code était dessiné avant que l'une ou l'autre de ces clés n'existe. Un texte que l'épellation énoncée ne peut pas tenir est refusé plutôt que transporté autrement. Les modules sont dessinés comme des carrés pleins dans le flux de contenu de la page. Le carré et sa zone de silence sur ses quatre côtés remplissent la largeur du rectangle, et l'ensemble est ancré au coin inférieur gauche : la hauteur du rectangle est du dégagement, sa largeur commande. La version choisie est la plus petite qui tienne le texte tel qu'il est épelé et au niveau de correction d'erreur demandé, de 21×21 jusqu'à 177×177 ; au-delà du plus grand symbole, la réponse est 400. Comme pour les autres codes, l'élément dessine le symbole seul, et le texte lisible à l'œil se pose à côté.

Schéma de la requête

Clés obligatoires : content, une chaîne non vide ; rect. Facultatives : correction, l'une de low, medium (par défaut), quartile ou high, la part du code gardée en réserve pour le ramener à bon port lorsqu'il est abîmé ; mode, l'un de numeric, alphanumeric ou byte (par défaut), la façon dont le code épelle ce qu'il transporte ; pages, un tableau d'entiers comptés à partir de 1, vide par défaut ; transform, six nombres ; rotate, degrés dans le sens inverse des aiguilles d'une montre autour du centre du rectangle ; layer, le nom d'un calque déclaré. Refus croisé : transform avec rotate. Un texte que le mode énoncé ne sait pas épeler répond 400, et un texte plus long que ce que le plus grand symbole tient au niveau de correction d'erreur demandé aussi.

Une requête entière qui crée un PDF

{
  "items": [
    {
      "type": "qr",
      "content": "https://hqf-pdf.com/",
      "correction": "quartile",
      "mode": "byte",
      "rect": {"llx": 72, "lly": 680, "urx": 152, "ury": 760}
    }
  ]
}

La ligne qui l'envoie, en trois langages

Les codes-barres et les codes carrés

Un code-barres à barres verticales Un code Aztec, sans marge blanche autour Un code Data Matrix, très petit et très solide Un code PDF417, qui contient tout un formulaire

Où aller ensuite

Toutes les clés JSON d'une requête, en une page Les vingt-deux autres choses que l'on peut dessiner

Voir les prix Voir les exemples