Generierung von QR-Codes in Java mit ZXing (Zebra Crossing)
\n\nQR-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\nIn 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\nWas ist ZXing?
\n\nZXing (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
Die Bibliothek wird aktiv von der Community unterstützt und in tausenden Projekten weltweit eingesetzt.
\n\nEinbinden von ZXing in das Projekt
\n\nDer 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:
<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\nFür Gradle (build.gradle):
\n\nimplementation 'com.google.zxing:core:3.5.3'\nimplementation 'com.google.zxing:javase:3.5.3'\n\n\nDas 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).
Erstellen eines einfachen QR-Codes
\n\nBetrachten wir ein grundlegendes Beispiel: die Generierung eines QR-Codes, der die Textzeichenfolge "Hello, PythonLib!" enthält.
\n\nimport 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\nDieser Code erstellt einen schwarz-weißen QR-Code mit einer Größe von 300x300 Pixeln und speichert ihn in der Datei qrcode.png.
Na
Auch in der Bibliothek
Elasticsearch-Client für Swift (iOS/macOS) – vollständige Anleitung
Bildverarbeitung in Node.js: Bibliotheken und Werkzeuge
PDF-Generierung in Swift: Dokumentenerstellung für iOS und macOS
Arbeiten mit Datumsangaben in PHP: Überblick über Bibliotheken und Werkzeuge
Reaktive Programmierung in Swift: Combine und RxSwift für iOS/macOS