Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Erstellen und Lesen von Xamarin-Barcodebildern mit einer modernen C#-Scanbibliothek

Xamarin-Barcode-Lösungen sind nach wie vor unverzichtbar für mobile Entwickler, die Android- und iOS-Apps im Einzelhandel, in der Logistik und im Bestandsmanagement betreuen. Obwohl Microsoft den offiziellen Support für Xamarin im Mai 2024 eingestellt hat, sind Millionen von Xamarin-Apps immer noch im Einsatz, und diese Apps müssen nach wie vor Barcodes zuverlässig erstellen, scannen und dekodieren können. IronBarcode ist ein .NET Barcode SDK, das die Barcode-Generierung und das Barcode-Lesen mit nur wenigen Zeilen C#-Code ermöglicht. Es funktioniert als Barcode-Scanner und -Generator auf Android-, iOS- und Windows-Plattformen und ermöglicht den direkten Übergang zu .NET MAUI, wenn die Migration Ihres Projekts ansteht.

Starten Sie eine kostenlose Testversion von IronBarcode und integrieren Sie noch heute die Barcode-Erkennung mit Xamarin in Ihr Projekt.

Wie funktioniert das Scannen von Barcodes in Xamarin-Apps?

Das Scannen von Barcodes in einer Xamarin-App funktioniert, indem Barcode-Informationen aus einem Kamerabild oder einer gespeicherten Datei auf dem Gerät erfasst und diese Daten anschließend an eine Scanbibliothek übergeben werden, die die codierten Informationen dekodiert. In der Vergangenheit verwendeten viele Xamarin-Entwickler die Open-Source-Bibliothek ZXing (Zebra Crossing), indem sie eine neue ZXingScannerPage-Instanz erstellten, diese auf den Navigationsstapel legten und das OnScanResult-Ereignis zur Verarbeitung von Barcodes nutzten. Während dieser Ansatz für einfache QR-Code-Scanning-Anwendungsfälle in Xamarin.Forms funktionierte, hat ZXing seit Jahren keine sinnvollen Fehlerbehebungen mehr erhalten, und Entwickler berichteten häufig von Fehlerzuständen beim Scannen von Barcodes bei schlechten Lichtverhältnissen oder beim Dekodieren komplexer Formate wie Data Matrix.

IronBarcode ist ein modernes Barcode-Scanner-SDK, das einen anderen Ansatz verfolgt. Anstatt eine separate Scannerseite mit Live-Kameraschnittstelle bereitzustellen, arbeitet IronBarcode mit jeder beliebigen Quelle, die Ihre Xamarin-App bereitstellen kann: Kameraaufnahmen, vom Benutzer hochgeladene Dateien, Screenshots oder PDF-Dokumente. Dadurch wird es zu einer flexiblen Scanbibliothek für Xamarin-Barcode-Projekte, bei denen Entwickler die volle Kontrolle über die Benutzeroberfläche und den Scanvorgang benötigen. Die BarcodeReader-Klasse unterstützt über 30 Barcode- und QR-Code-Formate, und das SDK enthält integrierte Vorverarbeitungsfilter , die die Barcode-Scanleistung bei schlechten Lichtverhältnissen oder beschädigten Barcodes verbessern.

Installieren Sie das IronBarcode NuGet Paket in Ihre Xamarin-Lösung, um loszulegen:

Install-Package BarCode

Das BarCode-Paket ist auf NuGet verfügbar und unterstützt .NET Standard 2.0, wodurch es mit Xamarin.Forms, nativen Xamarin-Projekten und dem MAUI-Framework von Microsoft kompatibel ist. Für die Kernfunktionen des SDKs sind keine zusätzlichen plattformspezifischen NuGet Pakete oder Konfigurationsschritte erforderlich. Installieren Sie das Paket und testen Sie es sofort in Ihrem Projekt.

Wie erstellt man Barcodes und QR-Codes in einer Xamarin-App?

Mit der BarcodeWriter-Klasse von IronBarcode lassen sich Barcodes für die Anzeige auf dem Gerätebildschirm, für die Etikettierung oder für den Datenaustausch unkompliziert generieren. Das unten stehende Beispiel ist ein typisches Beispiel für Xamarin-Barcode-Apps, die sowohl 1D- als auch 2D-Barcodes erzeugen müssen.

using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
using IronBarCode;
// Barcode generation: create a Code 128 barcode for product scanning
// Comment: BarcodeWriter handles all supported encoding formats
var barcode = BarcodeWriter.CreateBarcode(
    "PROD-2025-XMR",              // Value to encode in the barcode
    BarcodeWriterEncoding.Code128, // Barcode format for the scanner
    400, 150                       // Width and height in pixels
);
// Customize the barcode: add visible text below the barcode image
// Comment: this text helps users verify the encoded value
barcode.AddBarcodeValueTextBelowBarcode();
barcode.SaveAsPng("product_barcode.png");
// Generate a QR code that users can scan with any mobile device camera
// Comment: QR codes are ideal for URLs, contact data, and Wi-Fi config
var qrCode = BarcodeWriter.CreateBarcode(
    "https://ironsoftware.com",
    BarcodeWriterEncoding.QRCode,
    300, 300
);
// Configure margins and export the QR code as image lines of pixels
qrCode.SetMargins(10);
qrCode.SaveAsPng("qr_code.png");
$vbLabelText   $csharpLabel

Ausgabe Barcode-Bild

Erstellen und Lesen von Xamarin-Barcodebildern mit einer modernen C#-Scanbibliothek: Bild 1 - Generierter Barcode

Der obige Code demonstriert die Barcode-Generierung von IronBarcode mit nur wenigen Zeilen Code. Jeder Kommentar im Codebeispiel verdeutlicht den Zweck des jeweiligen Schritts. Er akzeptiert die zu kodierenden Daten, das Barcode-Format aus dem Enum BarcodeWriterEncoding und die Ausgabedimensionen. Das SDK von IronBarcode unterstützt eine breite Palette von Kodierungstypen, darunter EAN-13, Code 39, QR-Code, Data Matrix, PDF417 und Aztec. Nachdem Sie eine Instanz von GeneratedBarcode erstellt haben, können Sie diese umfassend anpassen: Verwenden Sie ResizeTo(), um die Abmessungen anzupassen, SetMargins(), um den Abstand zu konfigurieren, und AddAnnotationTextAboveBarcode(), um sichtbare Beschriftungen hinzuzufügen. Sie können die generierten Barcodes als PNG, JPEG, GIF, TIFF oder PDF exportieren, ohne plattformspezifischen Code für Android oder iOS schreiben zu müssen.

Für fortgeschrittene Funktionen wie das Hinzufügen von Logos zu QR-Codes oder das Anpassen von Barcode-Farben sehen Sie sich das Tutorial zur Barcode-Generierung und die Beispielseite zum Erstellen von Barcode-Codes an.

Wie liest und dekodiert man Barcodes aus Kamera- und Dateiquellen?

Das Lesen von Barcodes aus Bildern, die mit der Gerätekamera aufgenommen oder aus der Fotobibliothek des Benutzers ausgewählt wurden, ist der Bereich, in dem IronBarcode als Xamarin-Barcode-Lösung den größten Nutzen bietet. Der Scanvorgang bewältigt alles von makellosen digitalen Barcodes bis hin zu anspruchsvollen Kameraaufnahmen aus der realen Welt mit einer einheitlichen Methode.

using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
using IronBarCode;
// Comment: read and decode barcodes from a camera-captured file
var results = BarcodeReader.Read("scanned_photo.png");
// Iterate through each barcode scanning result
foreach (var result in results)
{
    // Comment: access the decoded barcode value and format type
    string value = result.Value;
    string type = result.BarcodeType.ToString();
    // Display the scanned barcode data to the user on screen
    Console.WriteLine($"Type: {type}, Value: {value}");
}
$vbLabelText   $csharpLabel

Lesen von Barcode-Daten

Erstellen und Lesen von Xamarin-Barcodebildern mit einer modernen C#-Scanbibliothek: Bild 2 - Gedruckter Wert, gelesen aus dem hochgeladenen Barcode

Dieser Codeabschnitt übergibt eine Datei an den Reader und durchläuft die Ergebnisse. Jede BarcodeResult-Instanz bietet Zugriff auf den Barcode-Typ, den dekodierten Text, die Binärdaten, die Positionskoordinaten und einen Konfidenzwert und stellt Entwicklern damit alles zur Verfügung, was sie für Produktionsumgebungen benötigen. Eine vollständige Liste der unterstützten Barcode-Typen finden Sie auf der Seite zur Barcode-Formatunterstützung .

Für reale Anwendungsfälle, in denen die Leistung beim Barcode-Scannen von Bedeutung ist – z. B. Scannen in Lagerhallen bei schlechten Lichtverhältnissen, Lesen beschädigter Barcodes auf einem Förderband oder Dekodieren mehrerer Barcodes auf einer einzigen Seite – ermöglicht Ihnen die Klasse BarcodeReaderOptions die Konfiguration jedes Aspekts des Lesevorgangs:

using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
using IronBarCode;
// Comment: configure the barcode reader for challenging conditions
var options = new BarcodeReaderOptions
{
    // Comment: balance between scanning speed and accuracy on the device
    Speed = ReadingSpeed.Balanced,
    // Expect multiple barcodes per page or camera capture
    ExpectMultipleBarcodes = true,
    // Limit scanning to specific barcode types for faster results
    ExpectBarcodeTypes = BarcodeEncoding.QRCode
        | BarcodeEncoding.Code128
        | BarcodeEncoding.DataMatrix,
    // Auto-rotate barcodes captured at any camera angle
    AutoRotate = true,
    // Apply image filters to improve scanning in poor conditions
    ImageFilters = new ImageFilterCollection
    {
        new SharpenFilter(),       // Sharpen blurry camera captures
        new ContrastFilter(1.5f)   // Boost contrast for low light
    }
};
// Comment: read barcodes from a sample image using configured options
var results = BarcodeReader.Read("warehouse_scan.jpg", options);
// Iterate and display results for the user
foreach (var barcode in results)
{
    // Output each decoded barcode value from the scanner
    Console.WriteLine($"Found: {barcode.Value}");
}
$vbLabelText   $csharpLabel

Die Eigenschaft "Geschwindigkeit" steuert das Verhältnis zwischen Geschwindigkeit und Genauigkeit. Verwenden Sie "ReadingSpeed.Faster" für das Scannen großer Mengen oder "ReadingSpeed.Detailed" für die maximale Erkennung schwieriger Barcodes. Die Konfiguration ExpectBarcodeTypes beschränkt die Formate, auf die das Scanner-SDK prüft, wodurch falsch-positive Fehlermeldungen vermieden und die Leistung verbessert wird. Die AutoRotate-Funktion korrigiert automatisch Barcodes, die von der Gerätekamera in ungünstigen Winkeln erfasst wurden, während SharpenFilter und ContrastFilter das Scannen von Barcodes bei schlechten Lichtverhältnissen verbessern. Entwickler können außerdem über die CropArea-Eigenschaft eine Zoom-ähnliche Zuschneidefunktion nutzen, um den Scanner so zu konfigurieren, dass er sich auf einen bestimmten Bereich einer erfassten Seite konzentriert.

Eine vollständige Anleitung zur Konfiguration aller Lesegeräte finden Sie im Leitfaden zum Lesen von Barcodes aus Bildern und in der API-Referenz zu BarcodeReaderOptions . Entwickler, die Barcodes aus PDF-Dokumenten dekodieren müssen, sollten auch die PDF-Barcode-Lesemethode überprüfen.

Was sind die besten Anwendungsfälle für eine mobile Barcode-Lösung?

Die Barcode- und QR-Code-Scanning-Lösungen von Xamarin unterstützen Dutzende von Anwendungsfällen in verschiedenen Branchen. Hier sind die häufigsten Szenarien, in denen IronBarcode sowohl einen Barcode-Scanner als auch einen Generator bereitstellt, der auf mobilen Geräten einen Mehrwert bietet:

  • Bestands- und Lagerverwaltung : Benutzer von Android- und iOS-Geräten scannen Barcodes auf Produkten und Regalen, um den Lagerbestand in Echtzeit zu verfolgen. Dadurch werden Fehler bei der manuellen Dateneingabe reduziert und die Geschwindigkeit erhöht. Jede Lager-App profitiert von schnellem und zuverlässigem Barcode-Scanning.
  • Einzelhandels-Point-of-Sale : Das Scannen von QR-Codes an der Kasse ermöglicht schnelle Produktsuche, Coupon-Einlösung und mobile Zahlungsabwicklung, alles sichtbar für den Benutzer auf dem App-Bildschirm. Die Scannerfunktion verarbeitet sowohl 1D- als auch 2D-Formate.
  • Logistik und Versand : Scannen von Barcodes auf Paketen zur Routenverifizierung und Lieferbestätigung mit einer Flotte von Android- und iOS-Geräten. IronBarcode kann Barcodes sogar von geknickten oder teilweise verdeckten Etiketten auf einer Scannerseite dekodieren.
  • Event-Check-in : Eine Xamarin-App, die QR-Codes an den Konferenzeingängen dekodiert, ermöglicht die sofortige Teilnehmervalidierung – es sind keine herkömmlichen Papiertickets oder manuelle Kontoabfragen erforderlich. Die App liest jeden Code in weniger als einer Sekunde.
  • Gesundheitswesen : Barcodes auf Patientenarmbändern, Medikamentenetiketten und Laborproben werden von mobilen Geräten gescannt, um Fehler zu vermeiden und eine genaue Behandlung durch den Anwender zu gewährleisten. Jede Leseseite in der App kann auf bestimmte Barcode-Typen zugeschnitten werden.

IronBarcode bietet als umfassender Barcode-Scanner plattformübergreifende Unterstützung für alle diese Xamarin-Barcode-Anwendungsfälle, einschließlich .NET Standard, .NET Core und .NET MAUI. Für Entwickler, die eine Xamarin-Barcode-Lösung im Produktivbetrieb einsetzen, bietet IronBarcode fortlaufenden Support, regelmäßige Updates und transparente Lizenzierungsoptionen . Wenn die Migration von Xamarin zu .NET MAUI geplant ist, gelingt der Übergang mit IronBarcode nahtlos, ohne dass Code-Neuschreibungen erforderlich sind. Eine Schritt-für-Schritt-Anleitung finden Sie im .NET MAUI Barcode-Scanner-Tutorial .

Der Migrationsleitfaden von Microsoft für die Migration von Xamarin-Projekten bietet detaillierte Schritte für den Übergang zum neuesten plattformübergreifenden Framework. Einen hilfreichen Link zu Community-Lösungen finden Sie in diesem Beitrag auf Stack Overflow , der häufige Probleme mit Barcodes in Xamarin behandelt. Dieser Link zur Xamarin-Entwickler-Community auf Reddit bietet weitere Diskussionen über mobile Barcode-Lesemethoden auf verschiedenen Plattformen.

Wie kann ich heute noch mit dem Barcode-Scannen in Xamarin beginnen?

IronBarcode macht die Barcode-Generierung und das Barcode-Scannen mit Xamarin schnell, zuverlässig und entwicklerfreundlich. Es bietet Unterstützung für über 30 Barcode-Formate, erweiterte Funktionen wie automatische Drehung und anpassbare Vorverarbeitung sowie eine flüssige C#-Schnittstelle, die für saubere und lesbare Codezeilen sorgt. Egal ob es darum geht, eine einfache QR-Code-Beispiel-App zu erstellen, Barcodes aus PDF-Dokumenten zu verarbeiten oder einen kompletten Barcode-Leser für eine Android- oder iOS-App zu entwickeln – IronBarcode bietet für alles eine einzige, gut dokumentierte Bibliothek. Jede Funktion der API ist auf Übersichtlichkeit und einfache Bedienbarkeit in Produktionsumgebungen ausgelegt.

Testen Sie IronBarcode in Ihrem Xamarin-Projekt, melden Sie sich für eine kostenlose Testversion an . Wenn Sie bereit für die Produktion sind, informieren Sie sich über die Lizenzoptionen . Details finden Sie auf der Preisseite ab 749 $. Für Support nach dem Kauf können Entwickler ihren Umfang über die Seite mit den Lizenz-Add-ons individuell anpassen.

Starten Sie jetzt mit IronBarcode.
green arrow pointer

Häufig gestellte Fragen

Wie unterstützt IronBarcode die Xamarin-App-Entwicklung?

IronBarcode ermöglicht Xamarin-App-Entwicklern das Erstellen, Lesen und Dekodieren von Barcodes mit nur wenigen Zeilen C#-Code. Es unterstützt Android, iOS und Windows und gewährleistet so eine nahtlose Barcode-Funktionalität in mobilen Anwendungen.

Kann IronBarcode sowohl zum Scannen als auch zum Generieren von Barcodes verwendet werden?

Ja, IronBarcode fungiert sowohl als Barcode-Scanner als auch als Generator und ermöglicht es Entwicklern, Barcodes in ihren Xamarin-Anwendungen einfach zu erstellen und zu lesen.

Welche Barcode-Typen unterstützt IronBarcode ?

IronBarcode unterstützt eine Vielzahl von Barcode-Typen, darunter Code 128, Data Matrix und QR-Codes, wodurch es vielseitig für unterschiedliche Anwendungsanforderungen einsetzbar ist.

Ist IronBarcode mit .NET MAUI kompatibel?

Ja, IronBarcode ist so konzipiert, dass ein reibungsloser Übergang zu .NET MAUI gewährleistet ist und somit auch bei der Migration von Xamarin weiterhin Unterstützung und Funktionalität geboten werden.

Warum ist IronBarcode für bestehende Xamarin-Apps wichtig?

Da Microsoft den offiziellen Support für Xamarin einstellt, bietet IronBarcode eine zuverlässige Lösung zur Aufrechterhaltung der Barcode-Funktionalität in bestehenden Xamarin-Anwendungen in verschiedenen Branchen wie Einzelhandel und Logistik.

Wie unterstützt IronBarcode die Logistik und das Bestandsmanagement?

IronBarcode unterstützt die Logistik und das Bestandsmanagement durch die effiziente Generierung und Dekodierung von Barcodes und optimiert so Prozesse wie die Sendungsverfolgung und die Bestandskontrolle.

Welche Plattformen werden von IronBarcode unterstützt?

IronBarcode unterstützt die Plattformen Android, iOS und Windows und ist somit ein vielseitiges Werkzeug für plattformübergreifende Barcode-Anwendungen.

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