Java-QR-Code-Generator: Bibliothek ZXing (Zebra Crossing)

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Generierung von QR-Codes in Java mit ZXing (Zebra Crossing)

\n\n

QR-Codes sind zu einem festen Bestandteil des modernen Webs und mobiler Anwendungen geworden. Sie ermöglichen das schnelle Teilen von Links, Kontaktdaten, Textinformationen und vielem mehr. In der Java-Welt ist ZXing (Zebra Crossing) eine der beliebtesten und stabilsten Bibliotheken für die Arbeit mit QR-Codes.

\n\n

In diesem Artikel werden wir im Detail besprechen, wie Sie ZXing in Ihr Projekt einbinden, einen einfachen QR-Code erstellen, dessen Aussehen anpassen und in eine Datei speichern. Das Material ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich, die QR-Code-Generierungsfunktionen in ihre Java-Anwendungen integrieren möchten.

\n\n

Was ist ZXing?

\n\n

ZXing (ausgesprochen wie "zebra crossing") ist eine Open-Source-Bibliothek zur Verarbeitung von eindimensionalen und zweidimensionalen Barcodes. Sie ist in Java geschrieben und unterstützt viele Formate: QR-Code, Data Matrix, Aztec, PDF417 und andere. Die wichtigsten Funktionen sind:

\n\n
    \n
  • Generierung (Erstellung) von QR-Codes aus Text, URLs, Kontakten usw.
  • \n
  • Lesen (Decodieren) von QR-Codes aus Bildern.
  • \n
  • Anpassung von Farbe, Größe und Fehlerkorrekturstufe.
  • \n
  • Ausgabe in verschiedene Grafikformate (PNG, JPEG, SVG).
  • \n
  • Unterstützung für Java SE, Android sowie andere JVM-Sprachen (Kotlin, Scala).
  • \n
\n\n

Die Bibliothek wird aktiv von der Community unterstützt und in tausenden Projekten weltweit eingesetzt.

\n\n

Einbinden von ZXing in das Projekt

\n\n

Der einfachste Weg, ZXing zu Ihrem Projekt hinzuzufügen, ist die Verwendung des Build-Systems Maven oder Gradle. Wenn Sie Maven verwenden, fügen Sie die folgende Abhängigkeit in Ihre pom.xml-Datei ein:

\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

Für Gradle (build.gradle):

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

Das Modul core enthält die grundlegenden Klassen für die Arbeit mit Codes, während javase Hilfsprogramme für Java SE bereitstellt (z. B. für die Arbeit mit Bildern).

\n\n

Erstellen eines einfachen QR-Codes

\n\n

Betrachten wir ein grundlegendes Beispiel: die Generierung eines QR-Codes, der die Textzeichenfolge "Hello, PythonLib!" enthält.

\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 gespeichert in Datei: " + outputFile.getAbsolutePath());\n\n        } catch (WriterException | IOException e) {\n            e.printStackTrace();\n        }\n    }\n}\n
\n\n

Dieser Code erstellt einen schwarz-weißen QR-Code mit einer Größe von 300x300 Pixeln und speichert ihn in der Datei qrcode.png.

\n\n

Na

Empfehlungen