Dominique Meeùs
Dernière modification le
retour à la table des matières
— à l’index
— à ma page de départ
Un code QR (QR code en anglais) 1 encode un simple texte. (Si ce texte est un URL, cela peut servir à accéder à un
site web.) Pour s’en convaincre, on peut lire le contenu d’un QR code avec la
commande zbarimg du paquet zbar-tools : zbarimg imageQRcode.png donnera une réponse du type QR-Code:letexteencodé. Si on veut le texte sans le préfixe, il faut ajouter le paramètre --raw : zbarimg --raw imageQRcode.png.
On peut encoder du texte avec la commande qrencode : qrencode -s 10 -o monQRcode.png montexte.
Il faut faire des essais sur le nombre de pixels (paramètre -s 10) d’un petit carré pour avoir une dimension raisonnable selon l’utilisation. Le nombre
de petits carrés (dots) dépend de la longueur du texte. Les dix pixels donnent un
résultat qui me paraît raisonnable pour imprimer.
Si on a une liste de lignes de texte à encoder, on pourrait songer à demander for x in `cat monfichierdelignes`; do qrencode -s 10 -o $x.png $x; done, mais, s’il y a (comme souvent) des URL dans les textes, ça ne marche pas à cause
des signes / et : dans le texte des URL.
Ce qui marche alors c’est d’écrire la liste en CSV avec deux champs séparés par des
tabulations : basename pour le nom du fichier PNG de chaque ligne et text pour le contenu. On exécute alors le script :
#!/bin/bash while read line do basename=$(cut -f1 <<< "$line") content=$(cut -f2 <<< "$line") qrencode -s 10 -o $basename.png $content done < maliste.csv⚓