Différences

Ci-dessous, les différences entre deux révisions de la page.


Révision précédente
4_domaines_specialises:commerce:generer_des_qr_codes [2024/02/04 21:00] (Version actuelle) – Correction de l'exemple de QR-code coloré (il n'était pas reconnu). jejust
Ligne 1: Ligne 1:
 +====== Comment générer des QR codes? ======
 +
 +Les [[wpfr>Code_QR|QR codes]] (pour //Quick Response Code//) sont un type de code-barres
 +en deux dimensions constitué de points noirs disposés dans un carré à fond blanc.
 +L'agencement de ces points décrit l'information que contient le code.
 +Ils peuvent être lus par un lecteur de code-barre ou un smartphone.
 +
 +Le package [[ctanpkg>qrcode]] permet de générer des QR-codes directement depuis LaTeX:
 +
 +<code latex>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{qrcode}
 + 
 +\begin{document}
 +  \qrcode{Données à coder}
 +\end{document}
 +</code>
 +
 +qui donne:
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{qrcode}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +  \qrcode{Données à coder}
 +\end{document}
 +</latexdoc>
 +
 +Dans la plupart des cas, c’est une URL que vous voudrez inclure dans le QR code.
 +Par exemple:
 +
 +<code latex>
 +  \qrcode{https://www.latex-fr.net/}
 +</code>
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{qrcode}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +  \qrcode{https://www.latex-fr.net/}
 +\end{document}
 +</latexdoc>
 +
 +Note : si vous utilisez [[ctanpkg>hyperref]], ''qrcode'' mettra automatiquement un lien cliquable
 +vers l'adresse en question, à moins de spécifier l’option ''nolink'' à la commande.
 +
 +Il est possible de spécifier la hauteur du QR code, avec l’option ''height''
 +(sachant que les QR codes sont obligatoirement carrés...).
 +
 +
 +===== Versions des QR codes =====
 +
 +Vous noterez la différence de résolution entre les deux QR codes précédents. Ceci s’explique
 +par le fait que la chaîne de caractère à coder dans le second exemple est plus longue que
 +dans le premier. Les QR codes sont définis suivant différentes tailles de grille, chaque
 +taille correspondant à une «version» : de 21×21 points (version 1) jusqu’à 177×177 points (version 40).
 +
 +Ainsi, la version 1 permet de coder au maximum 25 caractères alphanumériques tandis que la version 40
 +peut en coder 4296.
 +
 +Le package en question calcule automatiquement la version minimale à utiliser pour chaque chaîne
 +(ça se voit dans le log de compilation), mais il est possible de forcer cette valeur
 +(pour augmenter la version, évidemment), par exemple pour un aspect esthétique
 +(si vous avez deux QR codes côte à côte):
 +
 +<code latex>
 +  \qrcode[version=3]{Données à coder}
 +</code>
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{qrcode}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +  \qrcode[version=3]{Données à coder}
 +\end{document}
 +</latexdoc>
 +
 +===== Des QR codes plus marrants =====
 +
 +Le package [[ctanpkg>fancyqr]] permet de jouer sur le motif à l'intérieur du QR code
 +(forme des points, couleurs...) et d'ajouter une image au centre:
 +
 +<WRAP column 60ex>
 +<code latex>
 +\documentclass{article}
 +  \usepackage{fontawesome}
 +  \usepackage{fancyqr}
 +
 +\begin{document}
 +\FancyQrLoad{glitch}
 +\fancyqr[ image=\Large\faStackOverflow, image padding=1,
 +          gradient=true, gradient angle=135,
 +          right color=orange, left color=purple
 +        ]{https://www.latex-fr.net/4_domaines_specialises/commerce/generer_des_qr_codes}
 +\end{document}
 +</code>
 +</WRAP>
 +<WRAP column 40ex>
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage[width=6cm]{geometry}
 +  \usepackage{fontawesome}
 +  \usepackage{fancyqr}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\FancyQrLoad{glitch}
 +\fancyqr[ image=\Large\faStackOverflow, image padding=0,
 +          gradient=true, gradient angle=135,
 +          right color=orange, left color=purple
 +        ]{https://www.latex-fr.net/4_domaines_specialises/commerce/generer_des_qr_codes}
 +\end{document}
 +</latexdoc>
 +
 +<note>Ici, l'image choisie vient du package [[ctanpkg>fontawesome]],
 +mais vous pouvez insérer ce que vous souhaitez.</note>
 +</WRAP>
 +<WRAP clear />
 +
 +Il propose six styles de QR code différents:
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{fancyqr}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\begin{tabular}{p{8ex}p{3cm} p{8ex}p{3cm}}
 +\texttt{flat} &
 +  \FancyQrLoad{flat}\fancyqr{https://www.latex-fr.net/3_composition/start} &
 +\texttt{frame} &
 +  \FancyQrLoad{frame}\fancyqr{https://www.latex-fr.net/3_composition/start} \\
 +\end{tabular}
 +\end{document}
 +</latexdoc>
 +<WRAP clear />
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{fancyqr}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\begin{tabular}{p{8ex}p{3cm} p{8ex}p{3cm}}
 +\texttt{blobs} &
 +  \FancyQrLoad{blobs}\fancyqr{https://www.latex-fr.net/3_composition/start} &
 +\texttt{glitch} &
 +  \FancyQrLoad{glitch}\fancyqr{https://www.latex-fr.net/3_composition/start} \\
 +\end{tabular}
 +\end{document}
 +</latexdoc>
 +<WRAP clear />
 +
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage{fancyqr}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +\begin{tabular}{p{8ex}p{3cm} p{8ex}p{3cm}}
 +\texttt{swift} &
 +  \FancyQrLoad{swift}\fancyqr{https://www.latex-fr.net/3_composition/start} &
 +\texttt{dots} &
 +  \FancyQrLoad{dots}\fancyqr{https://www.latex-fr.net/3_composition/start} \\
 +\end{tabular}
 +\end{document}
 +</latexdoc>
 +
 +
 +===== Afficher dans la marge le QR-code de chaque URL =====
 +
 +Le package [[ctanpkg>hvqrurl]] fournit un moyen rapide de faire apparaître
 +dans la marge le QR-code correspondant à une URL insérée dans le document:
 +
 +<WRAP column 50ex>
 +<code latex>
 +\documentclass{article}
 +  \usepackage{hvqrurl}
 + 
 +\begin{document}
 +Vous pouvez consulter la FAQ à l'adresse
 +\hvqrurl{https://www.latex-fr.net/}
 +et y ajouter vos propres astuces.
 +\end{document}
 +</code>
 +</WRAP>
 +<WRAP column 40ex>
 +<latexdoc>
 +\documentclass{article}
 +  \usepackage[utf8]{inputenc}
 +  \usepackage[width=6cm]{geometry}
 +  \usepackage{hvqrurl}
 +  \pagestyle{empty}
 +
 +\begin{document}
 +Vous pouvez consulter la FAQ à l'adresse \hvqrurl{https://www.latex-fr.net/}
 +et y ajouter vos propres astuces.
 +\end{document}
 +</latexdoc>
 +</WRAP>
 +<WRAP clear />
 +
 +FIXME Nécessite deux compilations pour faire apparaître le QR-code.
 +
 +===== QR-factures =====
 +
 +Le package [[ctanpkg>qrbill]] permet de générer les [[wpfr>QR-facture|QR-factures utilisées en Suisse depuis 2020]],
 +qui incluent un QR-code particulier, avec le dessin d'une croix suisse en leur centre (🇨🇭).
 +Il s'utilise avec ''lualatex'' ou ''xelatex'' (versions de 2020 et ultérieures),
 +car il appelle [[ctanpkg>fontspec]]((Sa documentation indique cependant une façon de l'utiliser avec ''pdflatex'', en redéfinissant la commande ''\qrbillfont''.)).
 +
 +-----
 +//Sources://
 +  * [[https://blog.dorian-depriester.fr/latex/generer-des-qr-codes-directement-dans-latex|Générer des QR codes directement dans LaTeX]],
 +  * [[https://www.paymentstandards.ch/dam/downloads/style-guide-en.pdf|Style Guide QR-bill]].
 +
 +{{htmlmetatags>metatag-keywords=(LaTeX,code-barre,QR code,URL,smartphone,QR-facture,QR-Rechnung)
 +metatag-og:title=(Comment générer des QR codes?)
 +metatag-og:site_name=(FAQ LaTeX francophone)
 +}}
  
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0