Générateur de QR codes en Java : bibliothèque ZXing (Zebra Crossing)

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Génération de QR codes en Java avec ZXing (Zebra Crossing)

\n\n

Les QR codes sont devenus une partie intégrante du web moderne et des applications mobiles. Ils permettent de transmettre rapidement des liens, des coordonnées, des informations textuelles et bien plus encore. Dans le monde Java, l'une des bibliothèques les plus populaires et stables pour travailler avec les QR codes est ZXing (Zebra Crossing).

\n\n

Dans cet article, nous allons voir en détail comment intégrer ZXing à votre projet, créer un QR code simple, personnaliser son apparence et l'enregistrer dans un fichier. Ce contenu sera utile aussi bien aux débutants qu'aux développeurs expérimentés souhaitant ajouter des fonctionnalités de génération de QR codes à leurs applications Java.

\n\n

Qu'est-ce que ZXing ?

\n\n

ZXing (prononcé "zebra crossing") est une bibliothèque open-source pour le traitement des codes-barres unidimensionnels et bidimensionnels. Elle est écrite en Java et prend en charge de nombreux formats : QR code, Data Matrix, Aztec, PDF417 et autres. Principales fonctionnalités :

\n\n
    \n
  • Génération (création) de QR codes à partir de texte, d'URL, de contacts, etc.
  • \n
  • Lecture (décodage) de QR codes à partir d'images.
  • \n
  • Personnalisation de la couleur, de la taille, du niveau de correction d'erreurs.
  • \n
  • Export vers différents formats graphiques (PNG, JPEG, SVG).
  • \n
  • Prise en charge de Java SE, Android, ainsi que d'autres langages JVM (Kotlin, Scala).
  • \n
\n\n

La bibliothèque est activement maintenue par la communauté et utilisée dans des milliers de projets à travers le monde.

\n\n

Intégration de ZXing au projet

\n\n

La façon la plus simple d'ajouter ZXing à votre projet est d'utiliser le système de build Maven ou Gradle. Si vous utilisez Maven, ajoutez la dépendance suivante au fichier pom.xml :

\n\n
<dependency>\n    <groupId>com.google.zxing</groupId>\n    <artifactId>core</artifactId>\n    <version>3.5.3</version>\n</dependency>\n<dependency>\n    <groupId>com.google.zxing</groupId>\n    <artifactId>javase</artifactId>\n    <version>3.5.3</version>\n</dependency>\n
\n\n

Pour Gradle (build.gradle) :

\n\n
implementation 'com.google.zxing:core:3.5.3'\nimplementation 'com.google.zxing:javase:3.5.3'\n
\n\n

Le module core contient les classes principales pour travailler avec les codes, tandis que javase fournit des utilitaires auxiliaires pour Java SE (par exemple, pour la manipulation d'images).

\n\n

Création d'un QR code simple

\n\n

Examinons un exemple de base : la génération d'un QR code contenant la chaîne de texte "Hello, PythonLib!".

\n\n
import com.google.zxing.BarcodeFormat;\nimport com.google.zxing.WriterException;\nimport com.google.zxing.common.BitMatrix;\nimport com.google.zxing.qrcode.QRCodeWriter;\n\nimport javax.imageio.ImageIO;\nimport java.awt.image.BufferedImage;\nimport java.io.File;\nimport java.io.IOException;\n\npublic class QRCodeGenerator {\n    public static void main(String[] args) {\n        String text = "Hello, PythonLib!";\n        int width = 300;\n        int height = 300;\n\n        QRCodeWriter qrCodeWriter = new QRCodeWriter();\n        try {\n            BitMatrix bitMatrix = qrCodeWriter.encode(text, BarcodeFormat.QR_CODE, width, height);\n\n            BufferedImage qrImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);\n            for (int x = 0; x < width; x++) {\n                for (int y = 0; y < height; y++) {\n                    qrImage.setRGB(x, y, bitMatrix.get(x, y) ? 0xFF000000 : 0xFFFFFFFF);\n                }\n            }\n\n            File outputFile = new File("qrcode.png");\n            ImageIO.write(qrImage, "png", outputFile);\n            System.out.println("QR code enregistré dans le fichier : " + outputFile.getAbsolutePath());\n\n        } catch (WriterException | IOException e) {\n            e.printStackTrace();\n        }\n    }\n}\n
\n\n

Ce code crée un QR code noir et blanc de 300x300 pixels et l'enregistre dans le fichier qrcode.png.

\n\n

Per

Recommendations