using IronBarCode;
using System.Drawing;
// Reading a barcode is easy with IronBarcode!
var resultFromFile = BarcodeReader.Read(@"file/barcode.png"); // From a file
var resultFromBitMap = BarcodeReader.Read(new Bitmap("barcode.bmp")); // From a bitmap
var resultFromImage = BarcodeReader.Read(Image.FromFile("barcode.jpg")); // From an image
var resultFromPdf = BarcodeReader.ReadPdf(@"file/mydocument.pdf"); // From PDF use ReadPdf
// To configure and fine-tune barcode reading, utilize the BarcodeReaderOptions class
var myOptionsExample = new BarcodeReaderOptions
{
// Choose a reading speed from: Faster, Balanced, Detailed, ExtremeDetail
// There is a tradeoff in performance as more detail is set
Speed = ReadingSpeed.Balanced,
// Reader will stop scanning once a single barcode is found (if set to true)
ExpectMultipleBarcodes = true,
// By default, all barcode formats are scanned for
// Specifying a subset of barcode types to search for would improve performance
ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional,
// Utilize multiple threads to read barcodes from multiple images in parallel
Multithreaded = true,
// Maximum threads for parallelized barcode reading
// Default is 4
MaxParallelThreads = 2,
// The area of each image frame in which to scan for barcodes
// Specifying a crop area will significantly improve performance and avoid noisy parts of the image
CropArea = new Rectangle(),
// Special setting for Code39 barcodes
// If a Code39 barcode is detected, try to read with both the base and extended ASCII character sets
UseCode39ExtendedMode = true
};
// Read with the options applied
var results = BarcodeReader.Read("barcode.png", myOptionsExample);
// Create a barcode with one line of code
var myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
// After creating a barcode, we may choose to resize
myBarcode.ResizeTo(400, 100);
// Save our newly-created barcode as an image
myBarcode.SaveAsImage("EAN8.jpeg");
Image myBarcodeImage = myBarcode.Image; // Can be used as Image
Bitmap myBarcodeBitmap = myBarcode.ToBitmap(); // Can be used as Bitmap
In diesem Tutorial wird IronBarcode als Kernbibliothek verwendet, um QR-Codes zu erzeugen, die in vielen verschiedenen Branchen Anwendung finden.
IronBarcode stellt sich vor
Zusätzliche Merkmale
IronBarcode kann lesen und die meisten Barcode-Typen sowie QR-Standards schreiben, wie z.B. UPC A/E, EAN 8/13, Code 39/93/128, ITF, MSI, RSS 14/Expanded, Databar und CodaB.
IronBarcode verarbeitet Barcode-Bilder automatisch vor, um die Leseeffizienz und -genauigkeit zu verbessern.
IronBarcode kann einen oder mehrere Barcodes automatisch in ein- und mehrseitigen Dokumenten finden.
IronBarcode unterstützt 32- und 64-Bit-Architekturen und kann in beiden .NET-Implementierungen (.NET Core und .NET Framework) verwendet werden.
IronBarcode unterstützt Konsolen-, Desktop-, Cloud- und Webanwendungen auf PC- und mobilen Plattformen.
IronBarcode kann QR-Code-Bilder für eine Reihe von Dateien und Stream-Formaten generieren, einschließlich PDF, JPG, TIFF, GIF, BMP, PNG und HTML.
QR-Codes mit IronBarcode generieren
In den folgenden Abschnitten dieses Artikels wird anhand eines Beispiels demonstriert, wie einfach QR-Codes erstellt werden können.
Schritt 1. Ein neues Projekt erstellen
Öffnen Sie Visual Studio und wählen Sie Neues Projekt aus dem Menü Datei.
Wählen Sie die Vorlage Console App im erscheinenden Fenster und klicken Sie auf Weiter.
Erstellen einer neuen Konsolenanwendung in Visual Studio zur QR-Code-Generierung
Geben Sie im Textfeld Projektname einen beliebigen Projektnamen Ihrer Wahl ein (zum Beispiel QR-Code-Generator) und geben Sie im Feld Speicherort einen Speicherort für das neue Projekt an. Anschließend klicken Sie auf die Schaltfläche Weiter, um fortzufahren.
Auswahl eines Namens und Speicherorts für eine neue Konsolenanwendung in Visual Studio zur Erstellung von QR-Codes
Wählen Sie ein .NET Framework aus dem Framework-Dropdown-Menü aus (hier verwenden wir .NET 6.0 (Langzeitunterstützung)) und klicken Sie auf Erstellen.
Erstellen der neuen Konsolenanwendung in Visual Studio unter .NET 6.0 Framework
Schritt 2. Installieren Sie die Barcode-Bibliothek
2.1 IronBarcode verwenden
Sie können die IronBarcode-Bibliothek auf vier Arten herunterladen und installieren.
Diese Wege sind:
Verwendung der NuGet-Paketmanager-Benutzeroberfläche von Visual Studio,
Verwendung der Paketmanager-Konsole von Visual Studio,
Direktes Herunterladen von der NuGet-Website, oder
Sie können es direkt von der IronBarcode-Website herunterladen.
2.1.1 Verwendung der Paketmanager-Benutzeroberfläche von Visual Studio
Gehen Sie in der Menüleiste zu Tools > NuGet Package Manager > NuGet-Pakete für die Lösung verwalten..., um die Benutzeroberfläche des Paket-Managers zu öffnen.
Installieren der IronBarcode-Bibliothek mit der NuGet-Paket-Manager-Benutzeroberfläche in Visual Studio
Alternativ können Sie mit der rechten Maustaste auf den Namen Ihres Projekts im Fenster "Projektmappen-Explorer" klicken und im Kontextmenü NuGet-Pakete verwalten... auswählen.
Klicken Sie auf die Registerkarte Durchsuchen und geben Sie im Suchfeld Barcode ein. Wählen Sie IronBarcode aus der Liste der verwandten Pakete (im Bild unten als erstes Ergebnis angezeigt), wählen Sie Ihr Projekt im rechten Bereich aus und klicken Sie auf die Schaltfläche Installieren.
Suche nach der IronBarcode-Bibliothek im Paket-Manager-UI. Es wird höchstwahrscheinlich vor allen anderen Bibliotheken in den Suchergebnissen erscheinen
2.1.2 Verwendung der Paketmanager-Konsole von Visual Studio
Gehe zu Tools > NuGet-Paket-Manager > Paket-Manager-Konsole. Geben Sie den folgenden Befehl in das angezeigte Befehlszeilenfeld ein und drücken Sie ENTER:
Install-Package BarCode
Mit dem obigen Befehl wird die Bibliothek heruntergeladen und in das aktuelle Projekt installiert.
2.1.3 Die Bibliothek von der NuGet-Website herunterladen
Suchen Sie auf der NuGet Gallery-Website in Ihrem Browser nach der Barcode-Bibliotheksseite, (oder klicken Sie auf diesen NuGet BarCode-Paket-Link, um die Seite direkt zu öffnen).
Klicken Sie auf den Link Paket herunterladen im Menü auf der rechten Seite, um die Bibliothek auf Ihrem Computer zu speichern. Doppelklicken Sie anschließend auf die heruntergeladene Bibliothek in Ihrem Dateimanager, um sie automatisch in Ihr Projekt zu installieren. Zum Schluss laden Sie Ihr Projekt neu, und es ist einsatzbereit.
2.1.4 Download der Bibliothek von der IronBarcode Website
Klicken Sie auf IronBarcode's Homepage, um die neueste .NET Barcode-DLL herunterzuladen. Führen Sie nach dem Herunterladen die folgenden Schritte aus, um das Paket zu Ihrem Projekt hinzuzufügen:
Klicken Sie mit der rechten Maustaste auf das Projekt im Solution Explorer Panel und wählen Sie Hinzufügen > COM-Verweis.
Hinzufügen der IronBarcode-DLL direkt aus Visual Studio zum Projekt
Klicken Sie auf die Schaltfläche Durchsuchen und navigieren Sie zu dem Ort, an dem Sie die DLL extrahiert haben. Wenn Sie die DLL ausgewählt haben, klicken Sie auf OK, um sie zu Ihrem Projekt hinzuzufügen.
Einfügen der IronBarcode-DLL als neue COM-Referenz in Ihr Projekt
Schritt 3. Erzeugen eines QR-Code-Bildes
3.1 Verwendung von IronBarcode in einer Windows/Konsolenanwendung
Generieren Sie einen neuen QR-Code, indem Sie die Methode CreateQrCode aus der Klasse QRCodeWriter aufrufen:
Die CreateQrCode-Methode nimmt einen erforderlichen Parameter an, der die Daten sind, die im Codebild kodiert werden sollen (kann ein String oder ein Stream sein). Die Methode akzeptiert auch drei optionale Parameter:
Die Breite und Höhe der Grafik (standardmäßig 500px mal 500px)
Eine Fehlerkorrekturstufe. IronBarcode bietet vier Stufen der Fehlerkorrektur: Niedrig, Mittel, Hoch und Höchste. Standardmäßig verwendet CreateQrCode die höchste Korrekturstufe QRCodeWriter.QrErrorCorrectionLevel.Highest
Eine Versionsnummer des QR-Symbols. Siehe diese Seite für eine Liste gültiger Versionen. Ein Wert von 0 (der Standardwert) weist die Methode an, die korrekte Versionsnummer basierend auf den Daten zu verwenden, die sie kodieren wird.
Das obige Beispiel erzeugt eine 500 Pixel mal 500 Pixel große Grafik mit mittlerer Fehlerkorrekturstufe. Der anschließende Aufruf der SaveAsPng-Methode auf dem generierten QR-Code speichert ihn als PNG-Datei an einem angegebenen Dateispeicherort.
Das Ergebnis des Aufrufs von QrCodeWriter.CreateQrCode mit den oben genannten Parametern
Als Nächstes verwendet der folgende Beispielcode die CreateQrCodeWithLogo-Methode, um ein Firmenlogo zu einem erzeugten QR-Code hinzuzufügen, ein typisches Anwendungsbeispiel für jedes Unternehmen.
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
Dim qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "qrlogo.png",500)
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed)
qrWithLogo.SaveAsPng("Logo_QR_Code.png")
$vbLabelText $csharpLabel
Im obigen Beispiel wird ein String-Wert von "Hello, World" in einen neuen QR-Code kodiert, der ein Bild an einem angegebenen Dateipfad einbettet. Das Bild wird automatisch an das quadratische Raster des QR-Codes angepasst und auf die Größe ausgerichtet, die es QR-Code-Lesegeräten ermöglicht, die reinen Codedaten noch zu lesen.
Die nächste Zeile des obigen Codes verwendet die ChangeBarCodeColor-Methode, um die Farbe des QR-Codes in Dunkelrot zu ändern. Hier führen wir die Färbung mithilfe eines der verfügbaren System-Farbklasstypen durch, die von C# bereitgestellt werden (nämlich System.Drawing.Color.DarkRed). Es ist möglich, Farben in der HTML-Hex-Farbnotation anzugeben, wie die folgende Codezeile zeigt:
Die letzte Codezeile im obigen Codebeispiel ruft die Methode SaveAsPng auf, um den QR-Code als PNG-Datei zu speichern. QR-Codes können auch in anderen Dateiformaten wie HTML gespeichert werden:
qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html");
qrWithLogo.SaveAsHtmlFile("test.html")
$vbLabelText $csharpLabel
Verweisen Sie auf diese Dokumentationsseite für eine vollständige Liste der Dateitypen, in denen QR-Codes gespeichert werden können.
Erzeugen Sie QR-Codes in verschiedenen Farben, in verschiedenen Dateiformaten und unter Verwendung verschiedener Bilder mit den in der QRCodeWriter-Klasse von IronBarcode verfügbaren Methoden
3.2 Verwendung von IronBarcode in einer Webanwendung
Die Codezeile demonstriert, wie IronBarcode innerhalb einer .NET MVC-Webanwendung verwendet werden kann:
Public Function Index() As IActionResult
QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0).SaveAsPdf("Demo.png")
Return File("Demo.png", "image/png", "Demo.png", True)
End Function
$vbLabelText $csharpLabel
Das obige Beispiel funktioniert ganz ähnlich wie die vorherigen Beispiele. Zunächst wird ein QR-Code generiert, der dann im Antwortkörper an den Kunden zurückgegeben wird.
Schlussfolgerung
IronBarcode ist eine der schnellsten und leistungsfähigsten Bibliotheken zum Lesen und Schreiben von Barcodes. Diese einfache Bibliothek wird von verschiedenen Betriebssystemen unterstützt, sie unterstützt viele Barcodeformate und ist einfach zu bedienen.
Die Lizenzierungs- und rechtlichen Informationen zur Nutzung von IronBarcode finden Sie auf der Lizenzierungsseite. IronBarcode kann unter der Free Developer License kostenlos genutzt werden. Die Premium-Lizenzierung für Entwickler (kostenpflichtig) umfasst ein Jahr kostenlosen Support und Produktaktualisierungen.
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.