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 demselben Kopfschmerz: das Zusammensetzen separater Bibliotheken für Erzeugung, Lesen und Export, dann das Ringen mit der Kompatibilität über Barcode-Typen und Plattformen hinweg. IronBarcode eliminiert diese Reibung vollständig. Es ist eine einzelne .NET-Bibliothek, die jede Barcode-Operation 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 unvollkommenen Bildern und PDF-Dateien.

In diesem Artikel führen wir Sie durch die Kernfunktionen, die IronBarcode zu einer All-in-One-Lösung für Barcode-SDK-Projekte machen: Generieren von Barcode-Bildern, Lesen von Barcode-Daten aus Dateien und Konfigurieren erweiterter Scan-Einstellungen für Produktionsqualität und Genauigkeit. Jedes folgende Codebeispiel läuft unverändert in einer .NET-Konsolenanwendung.

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 fähiges Barcode-Scanner-SDK muss drei wesentliche Operationen abdecken: Generieren von Barcodes, Lesen von Barcode-Daten aus Bildern und Dokumenten und Umgang mit realen Scanqualitätsproblemen. Die besten Barcode-Leser-SDK-Optionen unterstützen auch eine breite Palette von Symbologien ohne separate Bibliotheken für jede einzelne zu benötigen.

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 Einzelhandels-UPC-A-Etiketten bis hin zu Lager-QR-Codes mit einer einzigen Barcode-DLL verarbeiten können, keine zusätzlichen Abhängigkeiten, keine plattformspezifischen nativen Binärdateien. Eine kostenlose Testlizenz bietet 30 Tage lang uneingeschränkten Zugriff auf jede Funktion.

Die Bibliothek läuft auf Windows, macOS und Linux-Betriebssystemen mit Unterstützung for .NET MAUI und Android-App-Bereitstellungen. Es integriert sich auch in Berichtstools wie Crystal Reports für Szenarien, die eingebettete Barcode-Erzeugung in Geschäftsdokumenten erfordern. Ob das Projekt eine Konsolenanwendung, ein .NET-MAUI-Mobelscanner oder ein serverseitiger Barcode-Leser ist, der Tausende von Bildern verarbeitet, die gleiche Barcode-Scanner-SDK-API bewältigt alles.

How Can Developers Generate Barcode Images in C#?

Die BarcodeWriter.CreateBarcode-Methode generiert ein Barcode-Bild aus einem String-Wert und einer angegebenen Symbologie in einem einzigen Aufruf. Das zurückgegebene GeneratedBarcode-Objekt kann als PNG-, BMP-, JPEG-, PDF-, HTML-Datei gespeichert oder in Vektorformate 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");
$vbLabelText   $csharpLabel

Erstellte Barcode-Bilder

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

Die BarcodeWriter-Klasse akzeptiert Daten als String, Byte-Array oder Stream und bietet damit Flexibilität für verschiedene Datenquellen. Das BarcodeEncoding-Enum steuert die Symbologie, übergeben Sie BarcodeEncoding.QRCode für einen QR-Code, BarcodeEncoding.UPCA für UPC-A-Einzelhandels-Etiketten oder eines der unterstützten Barcode-Formate. Für gestaltete QR-Codes unterstützt die dedizierte QRCodeWriter-Klasse Fehlerkorrekturstufen und das Einbetten von Logos, was es einfach macht, gebrandete Codes zu erstellen.

Das GeneratedBarcode-Objekt bietet auch Methoden zur Anpassung von Barcode-Eigenschaften wie Rändern, Farben und Annotationstext. Barcode-Bilder können in Rasterbildformaten (PNG, BMP, JPEG) und Vektorformaten exportiert oder direkt in HTML für Webapp-Szenarien gerendert werden. Sehen Sie sich die Barcode-Erstellungsbeispiele für zusätzliche Ausgabemöglichkeiten an.

Wie arbeitet der Barcode-Leser über Bild- und PDF-Dateien hinweg?

Die BarcodeReader.Read-Methode akzeptiert einen Bilddateipfad, ein Byte-Array, ein Bitmap oder einen Stream und gibt eine BarcodeResults-Sammlung zurück, die jeden im Eingang gefundenen Barcode enthält. Jeder BarcodeResult zeigt den Barcode-Wert, den Kodierungstyp, die Seitennummer, 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}");
}
$vbLabelText   $csharpLabel

Ausgabe des Lesens von Barcodes

Bauen Sie ein Barcode-SDK C#: Generieren, Lesen und Scannen von Barcodes mit einer Bibliothek: Bild 2 - Ausgabe des Lesens von Barcode-Daten

Der Barcode-Leser führt standardmäßig die Barcode-Erkennung über alle wichtigen Symbologien hinweg durch und erkennt automatisch lineare Barcodes, 2D-Barcodes und QR-Codes, ohne dass der Entwickler angeben muss, welcher Typ gescannt werden soll. Beim Scannen eines PDFs verarbeitet ReadPdf jede Seite und gibt Ergebnisse mit Seitenzahlen zurück, ideal für Dokumentenindizierung und Archivierungs-Workflows.

Jeder BarcodeResult in der Sammlung bietet sowohl Zugriff auf die entschlüsselten Barcode-Daten als String als auch als Byte-Array. Dies ist besonders nützlich, wenn Data Matrix-Codes oder andere Symbologien verarbeitet werden, die Binärdaten kodieren. Das Barcode-Lesergebnis umfasst auch die Positionskoordinaten des Barcodes, sodass Anwendungen abbilden können, wo jeder Code im Quellbild erschien. Für die Batch-Verarbeitung über einen gesamten Ordner von Bildern hinweg geben Sie ein IEnumerable<string> von Dateipfaden an den Barcode-Leser mit aktivierter Mehrfachverarbeitung für parallele Ausführung weiter.

Wie kann ein Barcode-Scanner-SDK reale Bildqualität bewältigen?

Reale Barcode-Bilder, von Lagerhauskameras, mobilen Aufnahmen oder gescannten Dokumenten, sind selten pixelgenau. Die BarcodeReaderOptions-Klasse bietet granulares Steuerungen über Scangeschwindigkeit, erwartete Symbologien, Bildkorrekturfilter und mehrstufige Batch-Verarbeitung, um selbst bei beschädigten oder schiefen Eingaben eine hochgenaue Barcode-Erkennung zu erzielen.

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} &mdash; {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} &mdash; {barcode.Value}");
}
$vbLabelText   $csharpLabel

Ausgabe beim Scannen eines verrauschten Barcode-Bildes

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

Das Festlegen von ExpectBarcodeTypes auf eine spezifische Untermenge von Symbologien (anstatt nach allen Typen zu scannen) verbessert sowohl die Geschwindigkeit als auch die Genauigkeit erheblich. Das ReadingSpeed-Enum bietet vier Stufen — Schneller, Ausgeglichen, Detailliert und ExtremDetail, sodass Entwickler das Verhältnis zwischen Verarbeitungszeit und Gründlichkeit der Barcode-Erkennung abstimmen können. Die ImageFilterCollection wendet Vorverarbeitungsfilter wie Schärfen, Kontrastanpassung und adaptive Schwellenwertbestimmung an, bevor die Scan-Engine das Barcode-Bild verarbeitet.

Das ExpectMultipleBarcodes-Flag weist die Engine an, nach dem Finden des ersten Treffers weiter zu scannen, was unerlässlich ist, wenn Sie mehrere Barcodes auf einem einzigen Etikett oder einer Dokumentseite scannen müssen. In Kombination mit Multithreaded = true verteilt die Bibliothek die Batch-Verarbeitung über CPU-Kerne für Hochdurchsatz-Scanning-Szenarien. Für einen tieferen Einstieg in diese Einstellungen behandelt das Barcode-Lesen-Tutorial jede Konfigurationsoption mit Beispielen.

Welche Barcode-Typen und Plattformen werden unterstützt?

IronBarcode deckt die am weitesten verbreiteten Barcode-Symbologien in Einzelhandel, Logistik, Gesundheitswesen und Unternehmensanwendungen 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 (über .NET MAUI)

Die Bibliothek wird als einzelnes NuGet-Paket (BarCode) oder als eigenständige Barcode-DLL durch direkten Download installiert. 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-Paket-Manager oder führen Sie dotnet add package BarCode aus der CLI aus. Für Bereitstellungsszenarien, die DLL-Ebeneinstellung erfordern, bietet der IronBarcode-DLL-Download ein ZIP-Paket zur manuelle Integration.

IronBarcode unterstützt auch die Integration in Crystal Reports und andere Berichtstools, wo eine eingebettete Barcode-Erzeugung 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 — übergeben Sie einfach eine vom Gerät gespeicherte Bilddatei an den Barcode-Leser. Das .NET MAUI-Barcode-Scanner-Tutorial behandelt diesen .NET MAUI-Workflow im Detail, einschließlich Android-Berechtigungen und Beispielcode für mobiles Scannen.

Wohin von hier aus?

IronBarcode bietet .NET-Entwicklern eine vollständige Barcode-Bibliothek für SDK-Level-Projekte mit Erzeugung, Lesen, Batch-Scannen und Export, alles ohne die Komplexität der Verwaltung mehrerer Pakete. Die neueste Version fügt ML-gestützte Bildvorverarbeitung und die ReadPdfs-Methode für Batch-PDF-Verarbeitung hinzu und treibt damit voran, was eine einzelne Bibliothek leisten kann.

Starten Sie eine kostenlose Testversion, um jede Funktion in Ihrem eigenen Projekt ohne Wasserzeichen oder Einschränkungen zu testen. Wenn Sie bereit für den Einsatz sind, erkunden Sie die IronBarcode-Lizenzierungsoptionen, die bei $799 für einzelne Entwickler beginnen — mit kostenlosem Support durch das Engineering-Team 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

We're online 24 hours, 5 days a week.
Chat
Email
Call Me