Barcodes & QRs in C# & VB.NET Anwendungen

This article was translated from English: Does it need improvement?
Translated
View the article in English

Das Lesen und Schreiben von Barcodes in C# und allen anderen .NET-Sprachen ist ein einfacher Prozess mit unserer IronBarcode-Softwarebibliothek.

IronBarcode installieren

Der erste Schritt auf der Reise wird die Installation von IronBarcode sein, was durch Herunterladen von NuGet erfolgen kann oder indem herunterladen der DLL.

Um das IronBarcode NuGet-Paket zu installieren, können Sie den NuGet-Paketmanager für Visual Studio verwenden:

Install-Package BarCode

Alternativ können Sie auch mit dem dotnet CLI installieren:

dotnet add package BarCode

Sie können mehr Informationen über das NuGet-Paket auf der NuGet-Website.

Lesen eines Barcodes oder QR-Codes

Das Lesen eines Barcodes erfordert mit IronBarcode nur eine einzige Codezeile.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-1.cs
using IronBarCode;

BarcodeResults results = BarcodeReader.Read("QuickStart.jpg");
if (results != null)
{
    foreach (BarcodeResult result in results)
    {
        Console.WriteLine(result.Text);
    }
}
Imports IronBarCode

Private results As BarcodeResults = BarcodeReader.Read("QuickStart.jpg")
If results IsNot Nothing Then
	For Each result As BarcodeResult In results
		Console.WriteLine(result.Text)
	Next result
End If
VB   C#

Mit dieser einen Codezeile haben Sie die Möglichkeit, alle Arten von Barcodes aus dem Eingabedokument zu erkennen und zu scannen, mit außergewöhnlicher Leistung – alles, was Sie in einem Schritt benötigen.!Diese Methode unterstützt eine breite Palette von Bildformaten, einschließlich Bildern wie JPEG, PNG und BMP, sowie PDFs und Mehrbildformate wie GIF und TIFF. Für diejenigen, die noch mehr Geschwindigkeit, optimierte Speichernutzung oder verbesserte Lesegenauigkeit benötigen, stehen anpassbare Konfigurationsoptionen zur Verfügung, um die Leistung an Ihre spezifischen Anforderungen anzupassen.

Um die Lesegeschwindigkeit zu verbessern, könnten Sie ein BarcodeReaderOptions-Objekt mit der Einstellung Speed hinzufügen. Standardmäßig ist es auf Balanced eingestellt, aber es gibt auch die Option Faster, die bestimmte Barcode-Überprüfungen überspringt, wie z.B. die Überprüfung auf invertierte Farben oder Barcode-Rotation.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-2.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    Speed = ReadingSpeed.Faster
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {.Speed = ReadingSpeed.Faster}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

Sie können den ScanMode auch auf OnlyBasicScan setzen, um zu vermeiden, dass unser Barcode-Erkennungsalgorithmus das Dokument scannt.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-3.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    ScanMode = BarcodeScanMode.OnlyBasicScan
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {.ScanMode = BarcodeScanMode.OnlyBasicScan}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

Andere Konfigurationen, die Sie ausprobieren können, bestehen darin, spezifische Barcode-Formate zum Scannen anzugeben, sodass IronBarcode nicht nach allen Barcode-Typen scannen muss, und spezifische Bildbereiche zuzuschneiden, damit IronBarcode weniger Bilddaten verarbeiten muss. Es gibt auch eine Option für die Erwartung mehrerer Barcodes, sodass IronBarcode bestimmte Prozesse zur Erkennung und Dekodierung mehrerer Barcodes überspringen kann, wenn nur ein Barcode erwartet wird.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-4.cs
using IronBarCode;

BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions()
{
    ExpectMultipleBarcodes = false,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    CropArea = new System.Drawing.Rectangle(100, 200, 300, 400),
};

BarcodeResults result = BarcodeReader.Read("QuickStart.jpg", myOptionsExample);
if (result != null)
{
    Console.WriteLine(result.First().Text);
}
Imports IronBarCode

Private myOptionsExample As New BarcodeReaderOptions() With {
	.ExpectMultipleBarcodes = False,
	.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128,
	.CropArea = New System.Drawing.Rectangle(100, 200, 300, 400)
}

Private result As BarcodeResults = BarcodeReader.Read("QuickStart.jpg", myOptionsExample)
If result IsNot Nothing Then
	Console.WriteLine(result.First().Text)
End If
VB   C#

Barcodes schreiben

Um Barcodes mit IronBarcode zu schreiben, verwenden wir die BarcodeWriter-Klasse. Mit BarcodeWriter ist das Erstellen von Barcodes in nur einer einfachen Codezeile möglich: Geben Sie einfach die Eingabedaten und das Barcode-Format ein, und schon können Sie loslegen.! Sie können dann die Barcode-Bilddaten als Speicher oder als Datei speichern.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-5.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.SaveAsImage("myBarcode.png");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128)
myBarcode.SaveAsImage("myBarcode.png")
VB   C#

Gestaltung von Barcodes

IronBarcode bietet mehrere Optionen, um die visuelle Darstellung eines Barcodes zu manipulieren. Unterstützte Funktionen zur Gestaltung von Barcodes umfassen das Anpassen der Größe, das Festlegen von Rändern im Ausgabeimage, das Ändern der Vorder- und Hintergrundfarben sowie das Hinzufügen von Anmerkungen.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-7.cs
using IronBarCode;

GeneratedBarcode myBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128);
myBarcode.AddAnnotationTextAboveBarcode("Product URL:");
myBarcode.AddBarcodeValueTextBelowBarcode();
myBarcode.SetMargins(100);
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple);

// All major image formats supported as well as PDF and HTML
myBarcode.SaveAsPng("myBarcode.png");
Imports IronBarCode

Private myBarcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode", BarcodeEncoding.Code128)
myBarcode.AddAnnotationTextAboveBarcode("Product URL:")
myBarcode.AddBarcodeValueTextBelowBarcode()
myBarcode.SetMargins(100)
myBarcode.ChangeBarCodeColor(IronSoftware.Drawing.Color.Purple)

' All major image formats supported as well as PDF and HTML
myBarcode.SaveAsPng("myBarcode.png")
VB   C#

Barcodes als HTML exportieren

Es gibt auch die praktische Funktion, HTML aus einem generierten Barcode zu exportieren. Es kann einen Barcode als eigenständiges HTML-Dokument ohne externe Assets, als eigenständiges HTML-Tag oder als Daten-URI exportieren.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-8.cs
using IronBarcode;

myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8);
myBarcode.SaveAsHtmlFile("myBarcode.html");
Imports IronBarcode

myBarcode = BarcodeWriter.CreateBarcode("12345", BarcodeWriterEncoding.EAN8)
myBarcode.SaveAsHtmlFile("myBarcode.html")
VB   C#

QR-Codes generieren

Beim Generieren von QR-Codes mit IronBarcode können wir stattdessen die QRCodeWriter-Klasse verwenden. Diese Klasse bietet einige zusätzliche Anpassungskonfigurationen, die ausschließlich für QR-Codes gelten, wie zum Beispiel das Einstellen der Fehlerkorrekturstufe und das Hinzufügen eines Bildes in der Mitte des QR-Codes.

:path=/static-assets/barcode/content-code-examples/get-started/get-started-9.cs
using IronBarCode;
using IronSoftware.Drawing;

QRCodeLogo qrCodeLogo = new QRCodeLogo("visual-studio-logo.png");
GeneratedBarcode myQRCodeWithLogo = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo);
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf");
Imports IronBarCode
Imports IronSoftware.Drawing

Private qrCodeLogo As New QRCodeLogo("visual-studio-logo.png")
Private myQRCodeWithLogo As GeneratedBarcode = QRCodeWriter.CreateQrCodeWithLogo("https://ironsoftware.com/csharp/barcode/", qrCodeLogo)
myQRCodeWithLogo.ChangeBarCodeColor(Color.DarkGreen).SaveAsPdf("MyQRWithLogo.pdf")
VB   C#

Unterstützte Barcode-Formate

IronBarcode unterstützt eine große Auswahl an gängigen Barcode-Formaten sowohl für das Lesen als auch Schreiben:

  • QR, Micro-QR und Rechteckiger Micro-QR(rMQR)** Codes.
  • Andere zweidimensionale Barcodes wie Aztec, Data Matrix, MaxiCode und PDF417.
  • Gestapelte lineare Barcodes wie Databar.
  • Konventionelle eindimensionale Barcode-Formate wie UPC-A, UPC-E, EAN-8, EAN-13, Codabar, ITF, MSI und Plessey.

Warum IronBarcode wählen?

IronBarcode bietet eine benutzerfreundliche und einfach zu bedienende API für Entwickler, um Barcodes für .NET zu lesen und zu schreiben, die für Genauigkeit, Präzision und Geschwindigkeit in realen Anwendungsfällen optimiert ist.

Die Klasse BarcodeWriter wird zum Beispiel automatisch die 'Prüfsummen' auf UPCA- und UPCE-Barcodes validieren und korrigieren. Außerdem werden Zahlen, die für ein bestimmtes numerisches Format zu kurz sind, mit einem "Zero-Pad" versehen. Wenn Ihre Daten nicht dem angegebenen Datenformat entsprechen, wird IronBarcode dem Entwickler ein geeigneteres Barcode-Format vorschlagen, das er verwenden könnte.

IronBarcode glänzt sowohl im Bereich des Lesens von Barcodes aus Dokumenten als auch im Bereich des Lesens von Barcodes aus Bildern, die in der realen Welt aufgenommen wurden. Die Bibliothek umfasst eine Reihe von Bildvorverarbeitungstechniken, um die Wahrscheinlichkeit des Lesens von Barcodes zu maximieren, wie z. B. automatische Drehung und Bildentrauschung.

Vorwärts bewegen

Um das Beste aus IronBarcode herauszuholen, empfehlen wir Ihnen, die Tutorials in diesem Dokumentationsabschnitt zu lesen und uns auf GitHub.