Wie man Barcode-Scanner in C#-Windows-Apps verwendet
Dieses Tutorial zeigt, wie man QR-Codes und Barcodes in C#-Konsolenanwendungen und .NET-Windows-Forms-Anwendungen scannt, wobei die IronBarcode-Bibliothek als Beispiel dient.
Mit der IronBarcode-Bibliothek können mehrere Barcodes gleichzeitig gescannt und gelesen werden, und sie kann auch unvollkommene Bilder erfolgreich scannen. Lassen Sie uns zuerst klären, was ein Barcode-Scanner ist.
Was ist ein Barcode-Scanner?
Ein Barcode ist ein quadratisches oder rechteckiges Bild, das aus einer Reihe von parallelen schwarzen Linien und weißen Zwischenräumen unterschiedlicher Breite besteht. Ein Barcode-Scanner oder Barcode-Leser ist ein Gerät, das gedruckte Barcodes lesen, die im Barcode enthaltenen Daten dekodieren und die Daten an einen Computer senden kann.
Die folgenden Schritte zeigen, wie man mit Hilfe der IronBarcode-Bibliothek einen Barcode-Scanner erstellt.
Wie liest man Barcodes in C#?
- Erstellen Sie ein .NET Windows Forms Anwendungsprojekt in Microsoft Visual Studio
- Installieren Sie die Barcode-Bibliothek
- Jedes Barcode oder QR-Code lesen
- Lesen Sie mehrere Barcodes oder QR-Codes in einem Scan
- Lassen Sie IronBarcode von unvollkommenen Scans und Fotos lesen
1. Erstellen Sie eine Windows Forms Anwendung in Microsoft Visual Studio
Öffnen Sie Visual Studio > Klicken Sie auf Neues Projekt erstellen > Wählen Sie Windows Forms-Anwendungs-Template > Drücken Sie Nächste > Benennen Sie das Projekt > Drücken Sie Nächste > Wählen Sie Ihr Ziel .NET Framework aus > Klicken Sie auf die Erstellen-Schaltfläche.
Nachdem Sie das Projekt erstellt haben, entwerfen Sie das Formular wie folgt aus dem Visual Studio-Toolbox: PictureBox-, Label-, TextBox- und Button-Steuerelemente.
Barcode-Scanner
2. Installieren Sie die Barcode .NET Bibliothek in C
Die Barcode-Bibliothek kann mit einer der folgenden drei Methoden installiert werden:
1. Paket-Manager-Konsole
Schreiben Sie den folgenden Befehl in die Package Manager-Konsole. Es lädt das Paket herunter und installiert es für Sie.
Install-Package BarCode
2. NuGet-Pakete Manager Lösung
Sie können die Barcode-Bibliothek auch mit der NuGet-Pakete-Lösung installieren. Folgen Sie einfach diesen Schritten:
Klicken Sie auf Tools > NuGet-Paketmanager > NuGet-Pakete für Lösung verwalten.
Dies öffnet den NuGet-Paketmanager für Sie. Klicken Sie auf Durchsuchen und suchen Sie nach Barcode, dann installieren Sie die Klassenbibliothek.
3. Download vom Link
Alternativ kann die IronBarCode.Dll heruntergeladen und als Referenz zu Ihrem Projekt hinzugefügt werden.
Nachdem Sie heruntergeladen haben, fügen Sie die folgenden Verweise zu Ihrem Barcode-Leser-Projekt hinzu.
using IronBarCode;
using IronBarCode;
Imports IronBarCode
3. Lesen Sie jeden Barcode oder QR-Code
Das Lesen eines Barcodes oder QR-Codes in .NET ist unglaublich einfach mit der IronBarcode-Bibliothek mit .NET Barcode Reader.
Barcode-Scanner
Durchsuchen Sie in Ihrem Projekt das Bild, das Sie lesen möchten. Es wird sich in PictureBox öffnen; jetzt klicken Sie auf "Code scannen". Der Text wird im Textfeld erscheinen.
Hier ist der Code für den "Durchsuchen"-Button, um ein Bild zu öffnen:
// Open file dialog
OpenFileDialog open = new OpenFileDialog();
// Image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {
// Display image in PictureBox
pictureBox1.Image = new Bitmap(open.FileName);
// Store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName;
}
// Open file dialog
OpenFileDialog open = new OpenFileDialog();
// Image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp";
if (open.ShowDialog() == DialogResult.OK) {
// Display image in PictureBox
pictureBox1.Image = new Bitmap(open.FileName);
// Store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName;
}
' Open file dialog
Dim open As New OpenFileDialog()
' Image filters
open.Filter = "Image Files(*.jpg; *.png; *.jpeg; *.gif; *.bmp)|*.jpg;*.png;*.jpeg;*.gif;*.bmp"
If open.ShowDialog() = DialogResult.OK Then
' Display image in PictureBox
pictureBox1.Image = New Bitmap(open.FileName)
' Store image file path in class data member. Initialize it as string ImageFileName;
ImageFileName = open.FileName
End If
Der Code für den "Code scannen"-Button:
// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
// Read the barcode from the image file path
BarcodeResult Result = BarcodeReader.Read(ImageFileName);
// Display the decoded text in TextBox
textBox1.Text = Result.Text;
' Read the barcode from the image file path
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName)
' Display the decoded text in TextBox
textBox1.Text = Result.Text
Der Barcode-Scanner zeigt die Barcodedaten im Textfeld wie folgt an:
Barcode-Bild, das mit C# gescannt werden soll
QR-Code-Scanner
In diesem Abschnitt behandelt die IronBarcode-Bibliothek effektiv reale Situationen mit schiefen QR-Codes. Obwohl der schräge QR-Code mit der Read- Methode verarbeitet und gelesen werden kann, kann die Auflösung dennoch mehr Zeit in Anspruch nehmen. Die IronBarcode Bibliothek bietet eine benutzerdefinierte Möglichkeit, BarcodeReaderOptions als zusätzlichen Parameter zu verwenden, um mit solchen Bildeingaben umzugehen. Der Code sieht wie folgt aus:
// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter()
};
// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
ImageFilters = filtersToApply,
ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};
// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
// Define a collection of image filters to apply
var filtersToApply = new ImageFilterCollection() {
new SharpenFilter(),
new InvertFilter(),
new ContrastFilter(),
new BrightnessFilter(),
new AdaptiveThresholdFilter(),
new BinaryThresholdFilter()
};
// Configure barcode reader options with specified filters
BarcodeReaderOptions myOptionsExample = new BarcodeReaderOptions() {
ImageFilters = filtersToApply,
ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
};
// Read the barcode/QR code with custom options and display result
BarcodeResult Result = BarcodeReader.Read(ImageFileName, myOptionsExample);
textBox1.Text = Result.Text;
' Define a collection of image filters to apply
Dim filtersToApply = New ImageFilterCollection() From {
New SharpenFilter(),
New InvertFilter(),
New ContrastFilter(),
New BrightnessFilter(),
New AdaptiveThresholdFilter(),
New BinaryThresholdFilter()
}
' Configure barcode reader options with specified filters
Dim myOptionsExample As New BarcodeReaderOptions() With {
.ImageFilters = filtersToApply,
.ExpectBarcodeTypes = BarcodeEncoding.QRCode Or BarcodeEncoding.Code128
}
' Read the barcode/QR code with custom options and display result
Dim Result As BarcodeResult = BarcodeReader.Read(ImageFileName, myOptionsExample)
textBox1.Text = Result.Text
Der Ausgang wird wie folgt sein, nachdem Sie das schiefe QR-Code-Bild geöffnet haben:
Schräges QRCode-Bild
Mehrere Barcodes in einem einzigen Scan lesen
PDF-Dokumente
Barcode-Bilder können aus einer PDF-Datei gescannt werden, und jedes Ergebnis kann entsprechend den Wünschen angezeigt werden. Der folgende Beispielcode ermöglicht es Ihnen, mehrere Barcodes aus einer PDF-Datei zu lesen.
// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results found
foreach (var PageResult in PDFResults) {
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte[] Binary = PageResult.BinaryValue;
Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
// Scan for multiple barcodes within a PDF document
BarcodeResult[] PDFResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Work with the results found
foreach (var PageResult in PDFResults) {
string Value = PageResult.Value;
int PageNum = PageResult.PageNumber;
System.Drawing.Bitmap Img = PageResult.BarcodeImage;
BarcodeEncoding BarcodeType = PageResult.BarcodeType;
byte[] Binary = PageResult.BinaryValue;
Console.WriteLine(PageResult.Value + " on page " + PageNum);
}
' Scan for multiple barcodes within a PDF document
Dim PDFResults() As BarcodeResult = BarcodeReader.ReadPdf("MultipleBarcodes.pdf")
' Work with the results found
For Each PageResult In PDFResults
Dim Value As String = PageResult.Value
Dim PageNum As Integer = PageResult.PageNumber
Dim Img As System.Drawing.Bitmap = PageResult.BarcodeImage
Dim BarcodeType As BarcodeEncoding = PageResult.BarcodeType
Dim Binary() As Byte = PageResult.BinaryValue
Console.WriteLine(PageResult.Value & " on page " & PageNum)
Next PageResult
Barcode und QR-Code in PDF-Dateien vorhanden:
C# - Barcodes von einem PDF lesen
Barcodes von unvollkommenen Bildern lesen
In realen Anwendungsfällen finden sich Barcodes oft mit Imperfektionen in Bildern, Scans, Miniaturansichten oder Fotografien und können digitales Rauschen enthalten oder schief sein. Dieser Abschnitt zeigt, wie man Barcodedaten aus Vorschaubildern liest.
Vorschaubilder
Die IronBarcode-Bibliothek verwendet den C# Barcode-Generator, der sogar in der Lage ist, ein beschädigtes Vorschaubild eines Barcodes zu lesen.
Automatische Barcodethumbnailgrößenkorrektur. Datei lesbar mit IronBarcode in C#
Es erkennt automatisch Barcodelbilder, die zu klein sind, um tatsächlich einen Barcode darzustellen, vergrößert dann den Maßstab und bereinigt alle digitalen Geräusche, die mit der Vorschau verbunden sind, sodass sie wieder lesbar sind.
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
// Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
BarcodeResult SmallResult = BarcodeReader.Read("ThumbnailOfBarcode.gif");
' Small or 'Thumbnail' barcode images are automatically detected by IronBarCode and corrected for wherever possible even if they have much digital noise.
Dim SmallResult As BarcodeResult = BarcodeReader.Read("ThumbnailOfBarcode.gif")
Zusammenfassung
IronBarcode ist eine vielseitige .NET-Softwarebibliothek und C# QR-Code-Generator zum Scannen und Lesen einer breiten Palette von Barcodelbildformaten, und es kann dies tun, unabhängig davon, ob diese Barcodes perfekte Bildschirmaufnahmen oder tatsächlich Fotografien, Scans oder andere unvollkommene reale Bilder sind. Zusätzlich bietet IronBarcode eine breite Palette an Anpassungsoptionen zur Verbesserung der Barcode-Lesegeschwindigkeit, wie z.B. Zuschnitteinstellungen oder Multithreading und die Genauigkeit des ML-Modells. Besuchen Sie die offizielle Dokumentationsseite für weitere Informationen zu IronBarcode.
Derzeit, wenn Sie die komplette Iron Suite kaufen, können Sie fünf Bibliotheken zum Preis von nur zwei erhalten.
Häufig gestellte Fragen
Was ist ein Barcode-Scanner im Kontext von C#-Anwendungen?
Ein Barcode-Scanner ist ein Gerät, das gedruckte Barcodes liest, die Informationen entschlüsselt und an einen Computer sendet. In C#-Anwendungen kann diese Funktionalität mit Bibliotheken wie IronBarcode implementiert werden.
Wie kann ich eine Windows Forms-Anwendung für das Barcode-Scannen mit C# erstellen?
Um eine Windows Forms-Anwendung für das Barcode-Scannen in C# zu erstellen, öffnen Sie Visual Studio, erstellen Sie ein neues Projekt mit der 'Windows Forms Application Template', konfigurieren Sie Ihr Ziel .NET-Framework und verwenden Sie Steuerelemente wie PictureBox, Label, TextBox und Button, um das Formular zu gestalten.
Was ist die empfohlene Methode zur Installation einer Barcode-Bibliothek in einem C#-Projekt?
Sie können eine Barcode-Bibliothek wie IronBarcode in einem C#-Projekt über die Paket-Manager-Konsole mit Install-Package IronBarCode, über den NuGet-Paket-Manager oder durch Herunterladen der DLL und Hinzufügen als Referenz installieren.
Ist es möglich, mehrere Barcodes in einem Scan mit einer C#-Bibliothek zu lesen?
Ja, mit IronBarcode können Sie mehrere Barcodes in einem einzigen Scan mit der BarcodeReader.ReadPdf-Methode lesen, sogar aus PDF-Dokumenten.
Wie schafft es die Bibliothek, Barcodes von minderwertigen Bildern zu lesen?
IronBarcode kann Barcodes von minderwertigen Bildern interpretieren, indem Bildfilter und Upscaling-Techniken angewendet werden, um digitales Rauschen zu reduzieren und genaue Lesungen sicherzustellen.
Welche Barcode-Formate werden von C#-Bibliotheken wie IronBarcode unterstützt?
IronBarcode unterstützt eine Vielzahl von Barcode-Formaten, einschließlich QR-Codes und Code128. Es kann diese Formate lesen, selbst wenn die Bilder unvollkommen oder mit einer Kamera aufgenommen sind.
Was sind die Schritte zur Implementierung des Barcode-Lesens in einer .NET-Anwendung?
Um das Barcode-Lesen zu implementieren, laden Sie ein Bild in eine PictureBox, lösen die Aktion 'Code scannen' aus und verwenden IronBarcode, um den dekodierten Text in einer TextBox zu verarbeiten und anzuzeigen.
Kann IronBarcode effektiv geneigte oder gekippte QR-Codes verarbeiten?
Ja, IronBarcode kann geneigte QR-Codes effektiv verarbeiten, indem es BarcodeReaderOptions verwendet, um die erforderlichen Bildfilter und Anpassungen für eine genaue Lesung anzuwenden.
Welche Anpassungsfunktionen bietet IronBarcode für das Barcode-Lesen?
IronBarcode bietet Funktionen wie Zuschneidebereiche, Multi-Threading und Parameteranpassungen, um die Geschwindigkeit und Genauigkeit des Barcode-Lesens zu verbessern.
Wo finde ich detailliertere Informationen zur Verwendung von Barcode-Bibliotheken in C#?
Für detailliertere Informationen zur Verwendung von Barcode-Bibliotheken in C# können Sie die offizielle Dokumentationsseite auf der Iron Software-Website besuchen.




