Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Ein Barcode-SDK in C# erstellen: Barcodes mit einer Bibliothek generieren, lesen und scannen

Die meisten Barcode-SDK-C#-Projekte beginnen mit dem gleichen Problem: dem Zusammenfügen separater Bibliotheken für Generierung, Lesen und Exportieren und dem anschließenden Kampf mit der Kompatibilität über verschiedene Barcode-Typen und Plattformen hinweg. IronBarcode beseitigt diese Reibung vollständig. Es handelt sich um eine einzige .NET Bibliothek, die alle Barcode-Operationen abdeckt, die Entwickler typischerweise von einem dedizierten Barcode-Scanner-SDK benötigen, von der Erstellung linearer Barcodes und QR-Codes bis zum Scannen mehrerer Barcodes aus fehlerhaften Bildern und PDF-Dateien.

In diesem Artikel stellen wir Ihnen die Kernfunktionen vor, die IronBarcode zu einer Komplettlösung für Barcode-SDK-Projekte machen: das Generieren von Barcode-Bildern, das Lesen von Barcode-Daten aus Dateien und das Konfigurieren erweiterter Scan-Einstellungen für eine Genauigkeit in Produktionsqualität. Alle folgenden Codebeispiele können unverändert in einer .NET -Konsolenanwendung ausgeführt werden.

NuGet Mit NuGet installieren

PM >  Install-Package BarCode

Schauen Sie sich IronBarcode auf NuGet für eine schnelle Installation an. Mit über 10 Millionen Downloads transformiert es die PDF-Entwicklung mit C#. Sie können auch das DLL herunterladen.

Was sollte ein Barcode-SDK in .NET -Projekten leisten?

Ein leistungsfähiges Barcode-Scanner-SDK muss drei wesentliche Operationen abdecken: das Generieren von Barcodes, das Lesen von Barcode-Daten aus Bildern und Dokumenten sowie den Umgang mit Problemen der Scanqualität in der Praxis. Die besten SDK-Optionen für Barcode-Lesegeräte unterstützen zudem eine breite Palette von Symbologien, ohne dass für jede einzelne separate Bibliotheken erforderlich sind.

IronBarcode unterstützt sowohl lineare Barcodes (Code 128, Code 39, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar) als auch 2D-Barcodes (QR-Code, Data Matrix, PDF417, Aztec, MaxiCode). Diese Abdeckung bedeutet, dass .NET -Entwickler alles von UPC-A-Etiketten im Einzelhandel bis hin zu QR-Codes in Lagerhäusern mit einer einzigen Barcode-DLL verarbeiten können – ohne zusätzliche Abhängigkeiten und ohne plattformspezifische native Binärdateien. Eine kostenlose Testlizenz gewährt 30 Tage lang vollen Zugriff auf alle Funktionen.

Die Bibliothek läuft unter Windows, macOS und Linux und unterstützt die Bereitstellung von .NET MAUI und Android-Apps. Es lässt sich außerdem in Reporting-Tools wie Crystal Reports integrieren, um Szenarien zu ermöglichen, die die Generierung eingebetteter Barcodes in Geschäftsdokumenten erfordern. Egal ob es sich um eine Konsolenanwendung, einen .NET MAUI Mobilscanner oder einen serverseitigen Barcodeleser handelt, der Tausende von Bildern verarbeitet – die gleiche Barcode-Scanner-SDK-API bewältigt alles.

How Can Developers Generate Barcode Images in C#?

Die Methode BarcodeWriter.CreateBarcode erzeugt in einem einzigen Aufruf ein Barcode-Bild aus einem String-Wert und einer festgelegten Symbologie. Das zurückgegebene GeneratedBarcode-Objekt kann als PNG-, BMP-, JPEG-, PDF- oder HTML-Datei gespeichert oder in Vektorformaten wie SVG exportiert werden.

using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");
using IronBarCode;
// Generate a Code 128 barcode image from string data
var barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128);
barcode.AddAnnotationTextAboveBarcode("Shipping Label");
barcode.AddBarcodeValueTextBelowBarcode();
barcode.ResizeTo(500, 150);
barcode.SaveAsPng("shipping-label.png");
// Create a styled QR code with a logo
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300);
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray);
qrCode.SaveAsPng("tracking-qr.png");
Imports IronBarCode

' Generate a Code 128 barcode image from string data
Dim barcode = BarcodeWriter.CreateBarcode("PKG-2025-88421", BarcodeEncoding.Code128)
barcode.AddAnnotationTextAboveBarcode("Shipping Label")
barcode.AddBarcodeValueTextBelowBarcode()
barcode.ResizeTo(500, 150)
barcode.SaveAsPng("shipping-label.png")

' Create a styled QR code with a logo
Dim qrCode = QRCodeWriter.CreateQrCode("https://example.com/track/88421", 300)
qrCode.ChangeBarCodeColor(IronSoftware.Drawing.Color.DarkSlateGray)
qrCode.SaveAsPng("tracking-qr.png")
$vbLabelText   $csharpLabel

Generierte Barcode-Bilder

Erstellen Sie ein Barcode-SDK in C#: Generieren, Lesen und Scannen von Barcodes mit einer Bibliothek: Bild 1 - Ausgabe von Barcode- und QR-Code-Bildern

Die Klasse BarcodeWriter akzeptiert Daten als Zeichenkette, Byte-Array oder Datenstrom und bietet somit Flexibilität für verschiedene Datenquellen. Die Enumeration BarcodeEncoding steuert die Symbologie. Verwenden Sie BarcodeEncoding.QRCode für einen QR-Code, BarcodeEncoding.UPCA für UPC-A-Etiketten im Einzelhandel oder eines der unterstützten Barcode-Formate . Für formatierte QR-Codes bietet die spezielle Klasse QRCodeWriter Unterstützung für Fehlerkorrekturstufen und Logoeinbettung, wodurch die Erstellung von Markencodes vereinfacht wird.

Das GeneratedBarcode-Objekt bietet außerdem Methoden zur Anpassung von Barcode-Eigenschaften wie Rändern, Farben und Anmerkungstext. Barcode-Bilder können in Rasterbildformaten (PNG, BMP, JPEG) und Vektorformaten exportiert oder für Webanwendungsszenarien direkt in HTML gerendert werden. Weitere Ausgabeoptionen finden Sie in den Beispielen zur Barcode-Erstellung .

Wie funktioniert der Barcode-Leser bei Bild- und PDF-Dateien?

Die Methode BarcodeReader.Read akzeptiert einen Bilddateipfad, ein Byte-Array, eine Bitmap oder einen Datenstrom und gibt eine BarcodeResults-Sammlung zurück, die alle im Eingabedatensatz gefundenen Barcodes enthält. Jedes BarcodeResult-Objekt gibt den Barcode-Wert, den Codierungstyp, die Seitenzahl, die Binärdaten und den Barcode-Bildbereich an.

using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}
using IronBarCode;
// Use the barcode reader to decode all barcodes from an image file
var results = BarcodeReader.Read("multiple-barcodes.png");
foreach (var result in results)
{
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}");
}
// The barcode reader also scans multi-page PDF documents
var pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf");
foreach (var item in pdfResults)
{
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}");
}
Imports IronBarCode

' Use the barcode reader to decode all barcodes from an image file
Dim results = BarcodeReader.Read("multiple-barcodes.png")
For Each result In results
    Console.WriteLine($"Type: {result.BarcodeType} | Value: {result.Value}")
Next

' The barcode reader also scans multi-page PDF documents
Dim pdfResults = BarcodeReader.ReadPdf("invoice-batch.pdf")
For Each item In pdfResults
    Console.WriteLine($"Page {item.PageNumber}: {item.Value}")
Next
$vbLabelText   $csharpLabel

Barcodes lesen Ausgabe

Erstellen Sie ein Barcode-SDK in C#: Generieren, Lesen und Scannen von Barcodes mit einer Bibliothek: Bild 2 - Ausgabe von Barcode-Daten lesen

Der Barcodeleser erkennt standardmäßig alle gängigen Symbologien und erkennt automatisch lineare Barcodes, 2D-Barcodes und QR-Codes, ohne dass der Entwickler den zu scannenden Typ angeben muss. Beim Scannen einer PDF-Datei verarbeitet ReadPdf jede Seite und liefert Ergebnisse mit angehängten Seitenzahlen – ideal für Dokumentenindizierung und Archivierungs-Workflows.

Jedes BarcodeResult in der Sammlung ermöglicht den Zugriff auf die dekodierten Barcode-Daten sowohl als Zeichenkette als auch als Byte-Array. Dies ist besonders nützlich bei der Verarbeitung von Data-Matrix-Codes oder anderen Symbologien, die Binärdaten kodieren. Das Ergebnis des Barcode-Lesers enthält auch die Positionskoordinaten des Barcodes , sodass Anwendungen die Position jedes Codes in der Quellbilddatei zuordnen können. Für die Stapelverarbeitung eines gesamten Bildordners übergeben Sie dem Barcode-Leser bei aktiviertem Multithreading für die parallele Ausführung eine Liste von Dateipfaden im Format IEnumerable<string>.

Wie kann ein Barcode-Scanner-SDK mit der Bildqualität in der realen Welt umgehen?

In der Praxis sind Barcode-Bilder, die von Lagerkameras, mobilen Aufnahmen oder gescannten Dokumenten stammen, selten pixelgenau. Die Klasse BarcodeReaderOptions ermöglicht eine detaillierte Steuerung der Scangeschwindigkeit, der erwarteten Symbologien, der Bildkorrekturfilter und der Multithread-Stapelverarbeitung, um eine hochpräzise Barcode-Erkennung auch bei beschädigten oder verzerrten Eingaben zu erreichen.

using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType} — {barcode.Value}");
}
using IronBarCode;
// Configure the barcode reader for challenging, real-world image quality
var options = new BarcodeReaderOptions
{
    Speed = ReadingSpeed.Detailed,
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional | BarcodeEncoding.QRCode,
    Multithreaded = true,
    MaxParallelThreads = 4,
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),
        new ContrastFilter()
    }
};
// Scan multiple barcodes from a noisy image with high accuracy
var results = BarcodeReader.Read("camera-capture.jpg", options);
foreach (var barcode in results)
{
    Console.WriteLine($"Detected: {barcode.BarcodeType} — {barcode.Value}");
}
Imports IronBarCode

' Configure the barcode reader for challenging, real-world image quality
Dim options As New BarcodeReaderOptions With {
    .Speed = ReadingSpeed.Detailed,
    .ExpectMultipleBarcodes = True,
    .ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional Or BarcodeEncoding.QRCode,
    .Multithreaded = True,
    .MaxParallelThreads = 4,
    .ImageFilters = New ImageFilterCollection From {
        New SharpenFilter(),
        New ContrastFilter()
    }
}

' Scan multiple barcodes from a noisy image with high accuracy
Dim results = BarcodeReader.Read("camera-capture.jpg", options)
For Each barcode In results
    Console.WriteLine($"Detected: {barcode.BarcodeType} — {barcode.Value}")
Next
$vbLabelText   $csharpLabel

Ausgabe für verrauschtes Barcode-Bildscannen

Erstellen Sie ein Barcode-SDK in C#: Generieren, Lesen und Scannen von Barcodes mit einer Bibliothek: Bild 3 - Beispielausgabe für das Scannen eines verrauschten Barcode-Bildes

Durch die Festlegung von ExpectBarcodeTypes auf eine bestimmte Teilmenge der Symbologien (anstatt alle Typen zu scannen) werden sowohl die Geschwindigkeit als auch die Genauigkeit deutlich verbessert. Die ReadingSpeed-Enumeration bietet vier Stufen – Schneller, Ausgewogen, Detailliert und ExtremDetail –, mit denen Entwickler den Kompromiss zwischen Verarbeitungszeit und Gründlichkeit der Barcode-Erkennung feinabstimmen können. Die ImageFilterCollection wendet Vorverarbeitungsfilter wie Schärfung, Kontrastanpassung und adaptive Schwellenwertbildung an, bevor die Scan-Engine das Barcode-Bild verarbeitet.

Das Flag ExpectMultipleBarcodes weist die Engine an, nach dem Auffinden der ersten Übereinstimmung mit dem Scannen fortzufahren. Dies ist unerlässlich, wenn Sie mehrere Barcodes auf einem einzelnen Etikett oder einer Dokumentseite scannen müssen. In Kombination mit Multithreaded = true verteilt die Bibliothek die Stapelverarbeitung auf mehrere CPU-Kerne, um Scanvorgänge mit hohem Durchsatz zu ermöglichen. Für einen detaillierteren Einblick in diese Einstellungen behandelt das Tutorial zum Lesen von Barcodes jede Konfigurationsoption anhand von Beispielcode.

Welche Barcode-Typen und Plattformen werden unterstützt?

IronBarcode deckt die am weitesten verbreiteten Barcode-Symbologien in den Bereichen Einzelhandel, Logistik, Gesundheitswesen und Enterprise ab. Die folgende Tabelle fasst die unterstützten Barcode-Typen und Zielplattformen zusammen.

Kategorie Unterstützte Formate
Lineare Barcodes Code 128, Code 39, Code 93, UPC-A, UPC-E, EAN-8, EAN-13, GS1 DataBar, ITF, MSI, Codabar
2D-Barcodes QR-Code, Data Matrix, PDF417, Aztec, MaxiCode
Bildformate PNG, JPEG, BMP, GIF, TIFF, SVG
Dokumentformate PDF (mehrseitig), HTML
.NET -Plattformen .NET 8/7/6, .NET Core, .NET Framework 4.6.2+, .NET Standard 2.0+
App-Typen Konsole, Windows Forms, WPF, ASP.NET, .NET MAUI, Blazor
Betriebssysteme Windows, macOS, Linux, Android (via .NET MAUI)

Die Bibliothek kann als einzelnes NuGet Paket (BarCode) oder als eigenständige Barcode-DLL per Direkt-Download installiert werden. Es sind keine nativen SDK-Abhängigkeiten erforderlich, das gesamte Barcode-Scanner-SDK wird als verwalteter .NET -Code ausgeliefert. Installieren Sie es in Visual Studio über den NuGet Paketmanager oder führen Sie dotnet add package BarCode über die Befehlszeile aus. Für Einsatzszenarien, die eine Steuerung auf DLL-Ebene erfordern, bietet der IronBarcode DLL-Download ein ZIP-Paket, das zur manuellen Integration bereit ist.

IronBarcode unterstützt außerdem die Integration von Crystal Reports und anderen Reporting-Tools, bei denen eine eingebettete Barcode-Generierung erforderlich ist. Für die .NET MAUI und Android-App-Entwicklung bietet das Barcode-Scanner-SDK plattformübergreifendes Barcode-Lesen, ohne dass plattformspezifische Kamera-SDKs erforderlich sind – es wird lediglich eine mit der Gerätekamera aufgenommene Bilddatei an den Barcode-Leser übergeben. Das .NET MAUI Barcode-Scanner-Tutorial behandelt diesen .NET MAUI Workflow detailliert, einschließlich Android-Berechtigungen und Beispielcode für das Scannen mit Mobilgeräten.

Wie geht es von hier aus weiter?

IronBarcode bietet .NET -Entwicklern eine vollständige Barcode-Bibliothek für SDK-Projekte, die Generierung, Lesen, Stapelscannen und Exportieren beinhaltet – ohne die Komplexität der Verwaltung mehrerer Pakete. Die neueste Version bietet zusätzlich eine ML-gestützte Bildvorverarbeitung und die ReadPdfs-Methode für die Stapelverarbeitung von PDFs und erweitert damit kontinuierlich die Möglichkeiten einer einzelnen Bibliothek.

Starten Sie eine kostenlose Testphase , um alle Funktionen in Ihrem eigenen Projekt ohne Wasserzeichen oder Einschränkungen zu testen. Wenn Sie bereit für die Produktion sind, informieren Sie sich über die IronBarcode -Lizenzoptionen ab $799 für Einzelentwickler – inklusive kostenlosem Support durch das Entwicklungsteam von Iron Software.

Starten Sie jetzt mit IronBarcode.
green arrow pointer

Häufig gestellte Fragen

Wofür wird IronBarcode in C#-Projekten verwendet?

IronBarcode ist eine .NET-Bibliothek, die Barcode-Operationen vereinfacht, indem sie Entwicklern ermöglicht, verschiedene Barcode-Typen innerhalb von C#-Projekten zu generieren, zu lesen und zu scannen, wodurch die Notwendigkeit mehrerer Bibliotheken entfällt.

Kann IronBarcode mehrere Barcode-Typen handhaben?

Ja, IronBarcode unterstützt eine breite Palette von Barcode-Typen, einschließlich linearer Barcodes und QR-Codes, und sorgt für Kompatibilität in verschiedenen Anwendungen.

Wie verbessert IronBarcode das Barcode-Scannen in C#?

IronBarcode verbessert das Barcode-Scannen, indem es robuste Funktionen bereitstellt, um mehrere Barcodes aus unvollkommenen Bildern und PDF-Dateien zu scannen, was die Genauigkeit und Effizienz erhöht.

Ist Beispielcode für die Verwendung von IronBarcode verfügbar?

Ja, Beispielcode ist enthalten, um Entwicklern zu helfen, Barcode-Generierungs- und Scanfunktionen schnell in ihre C#-Projekte mit IronBarcode zu integrieren.

Warum sollten Sie IronBarcode gegenüber separaten Bibliotheken für Barcode-Operationen wählen?

IronBarcode konsolidiert Barcode-Generierungs-, Lese- und Scan-Operationen in einer einzigen Bibliothek, wodurch die Komplexität und Kompatibilitätsprobleme, die mit der Verwendung mehrerer Bibliotheken einhergehen, reduziert werden.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an