Zum Fußzeileninhalt springen
IRONBARCODE VERWENDEN

Wie man eine .NET MAUI Barcode-Scanner-SDK-App erstellt

.NET MAUI erfüllt das Versprechen einer einzigen Codebasis, die auf Android, iOS und Windows abzielt. Die Herausforderung besteht darin, native Hardwarefunktionen wie das Scannen von Barcodes zu integrieren. Die manuelle Anbindung von Kamera-APIs erfordert plattformspezifische Konfigurationen, bedingte Kompilierungsanweisungen und stundenlanges Debuggen. Es gibt einen schnelleren Weg.

Dieses Tutorial zeigt Ihnen, wie Sie mit IronBarcode einen funktionierenden plattformübergreifenden Barcode-Scanner in .NET MAUI erstellen. Sie richten das Projekt ein, konfigurieren Plattformberechtigungen, scannen Barcodes aus Bilddateien, lesen Barcodes aus PDF-Dokumenten und verarbeiten mehrere Symbologien mit Scanoptionen – alles mit Code, den Sie auf jedem unterstützten Zielsystem ausführen können.

Starten Sie Ihre kostenlose Testphase und folgen Sie den unten stehenden Schritten.

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.

Wie richtet man ein Barcode Scanner SDK in .NET MAUI ein?

Die Einrichtung eines .NET MAUI Barcode-Scanner-SDK erfordert die Erstellung eines neuen Projekts, die Installation des NuGet-Pakets und die Konfiguration von Plattformberechtigungen. Der gesamte Konfigurationsprozess dauert in Visual Studio einige Minuten.

Erstellen Sie das .NET MAUI-Projekt

Öffnen Sie Visual Studio und erstellen Sie ein neues .NET MAUI App-Projekt. Geben Sie dem Projekt einen aussagekräftigen Namen wie "BarcodeScanner" und wählen Sie .NET 8 oder höher als Zielframework aus. Visual Studio generiert die Standardprojektstruktur mit plattformspezifischen Ordnern für Android und iOS.

Wenn Sie .NET 10 als Zielplattform verwenden, gilt die gleiche Projektvorlage. Aktualisieren Sie die Eigenschaft <TargetFrameworks> in Ihrer Datei .csproj, um net10.0-android, net10.0-ios und net10.0-windows10.0.19041.0 nach Bedarf einzuschließen. Die vollständige Liste der Zielframework-Moniker und der Mindestanforderungen an die Betriebssystemversion finden Sie in der Dokumentation zu den von .NET MAUI unterstützten Plattformen .

IronBarcode installieren

Installieren Sie das IronBarcode NuGet Paket mithilfe der Paket-Manager-Konsole:

Install-Package BarCode

Dieser Befehl lädt das Barcode-Scanner-SDK sowie alle erforderlichen Abhängigkeiten für die .NET MAUI Anwendung herunter und installiert sie.

Plattform-Berechtigungen konfigurieren

Auch wenn beim Scannen von Bilddateien anstatt von einem Live-Kamerabild, ist es ratsam, die folgenden Berechtigungen für die .NET MAUI Barcode-Scanner-App zu konfigurieren.

Für Android fügen Sie Folgendes zu Platforms/Android/AndroidManifest.xml hinzu:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
XML

Für iOS fügen Sie diese Einträge zu Platforms/iOS/Info.plist hinzu:

<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Access needed to select barcode images for scanning.</string>
<key>NSCameraUsageDescription</key>
<string>Camera permission for barcode scanning.</string>
XML

Initialisierung des SDK

Legen Sie Ihren Lizenzschlüssel frühzeitig im Anwendungslebenszyklus fest, um sicherzustellen, dass IronBarcode vollständig aktiviert ist, bevor Scanvorgänge durchgeführt werden. Platzieren Sie die Aktivierung in MauiProgram.cs:

using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
using IronBarCode;

var builder = MauiApp.CreateBuilder();
builder
    .UseMauiApp<App>()
    .ConfigureFonts(fonts =>
    {
        fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
    });

// Activate IronBarcode before the app starts
License.LicenseKey = "YOUR_LICENSE_KEY_HERE";

return builder.Build();
$vbLabelText   $csharpLabel

IronBarcode stellt eine kostenlose Testlizenz für Entwicklung und Tests zur Verfügung. Setzen Sie den Schlüssel einmalig beim Start; alle nachfolgenden Aufrufe von BarcodeReader und BarcodeWriter innerhalb desselben Prozesses verwenden die aktivierte Lizenz.

Wie liest man Barcodes aus Bilddateien?

Die Kernfunktion eines jeden MAUI-Barcodescanners besteht im Einlesen von Barcodes aus ausgewählten Bildern. Die Methode BarcodeReader.Read() akzeptiert einen Dateipfad und gibt eine Sammlung von BarcodeResult-Objekten zurück, eines pro erkanntem Barcode.

Gestaltung der Benutzeroberfläche

Erstellen Sie eine übersichtliche Benutzeroberfläche in MainPage.xaml, die es Benutzern ermöglicht, eine Bilddatei auszuwählen und die gescannten Barcode-Daten anzuzeigen:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="BarcodeScanner.MainPage">
    <VerticalStackLayout Padding="20" Spacing="15">
        <Label Text=".NET MAUI Barcode Scanner" FontSize="24" HorizontalOptions="Center"/>
        <Button Text="Select Image to Scan" Clicked="OnSelectImageClicked"/>
        <Image x:Name="SelectedImageView" HeightRequest="200"/>
        <Label x:Name="ResultLabel" FontSize="16"/>
    </VerticalStackLayout>
</ContentPage>
XML

Einführung von BarCode-Scanning

Füge die Scanlogik zu MainPage.xaml.cs hinzu. Dieser Code übernimmt die Bildauswahl über die MAUI FilePicker API und übergibt den gewählten Dateipfad an IronBarcode:

using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
using IronBarCode;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private async void OnSelectImageClicked(object sender, EventArgs e)
    {
        var result = await FilePicker.PickAsync(new PickOptions
        {
            FileTypes = FilePickerFileType.Images,
            PickerTitle = "Select a barcode image"
        });

        if (result != null)
        {
            // Display the selected image
            SelectedImageView.Source = ImageSource.FromFile(result.FullPath);

            // Read barcodes from the image file
            var barcodes = BarcodeReader.Read(result.FullPath);

            ResultLabel.Text = barcodes.Any()
                ? $"Found: {barcodes.First().Value}"
                : "No barcodes detected in selected image.";
        }
    }
}
$vbLabelText   $csharpLabel

Ausgabe

 .NET MAUI Barcode Scanner SDK: Erstellen Sie in wenigen Minuten einen plattformübergreifenden Scanner: Bild 1 - Ausgabe des gescannten Barcodes

Die Methode BarcodeReader.Read() analysiert das ausgewählte Bild und gibt alle erkannten Barcodes zurück. IronBarcode erkennt automatisch mehrere Barcode-Symbologien, darunter QR-Codes, Code 128, Code 39, EAN-13 und viele andere unterstützte Formate . Die Ergebnissammlung enthält Eigenschaften wie BarcodeType, Value, PageNumber sowie die Koordinaten des Begrenzungsrahmens für jeden erkannten Code.

Wie scannt man BarCodes aus PDF-Dokumenten?

Eine Fähigkeit, die IronBarcode von vielen Alternativen unterscheidet, ist das direkte Auslesen von Barcodes aus PDF-Dateien. Dies ist unerlässlich for .NET MAUI Anwendungen, die Dokumenten-Workflows verarbeiten – Versandmanifeste, Bestellungen, Krankenakten und ähnliche Anwendungsfälle basieren alle auf in PDFs eingebetteten Barcodes.

Die Methode BarcodeReader.ReadPdf() akzeptiert einen Dateipfad und gibt dieselbe Sammlung BarcodeResult wie der Bildleser zurück, jedoch mit einer zusätzlichen Eigenschaft PageNumber, die angibt, von welcher PDF-Seite jeder Barcode stammt:

using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
using IronBarCode;

private async void OnSelectPdfClicked(object sender, EventArgs e)
{
    var result = await FilePicker.PickAsync(new PickOptions
    {
        PickerTitle = "Select a PDF with barcodes"
    });

    if (result != null)
    {
        // Read barcodes from every page of the PDF
        var barcodes = BarcodeReader.ReadPdf(result.FullPath);

        var output = string.Join("\n", barcodes.Select(b =>
            $"Page {b.PageNumber}: [{b.BarcodeType}] {b.Value}"));

        await DisplayAlert("Scan Results", output.Length > 0 ? output : "No barcodes found.", "OK");
    }
}
$vbLabelText   $csharpLabel

Ausgabe

 .NET MAUI Barcode Scanner SDK: Erstellen Sie in wenigen Minuten einen plattformübergreifenden Scanner: Bild 2 - Ausgabe beim Scannen einer PDF-Datei mit darin enthaltenen QR-Codes

Die Methode ReadPdf() scannt alle Seiten einer PDF-Datei und gibt Barcode-Daten zusammen mit den Seitenzahlen zurück, wodurch die Verarbeitung von Dokumenten mit mehreren Barcodes unkompliziert wird. Wenn die PDF-Datei Dutzende von Seiten umfasst, sollten Sie ein BarcodeReaderOptions-Objekt mit PageNumbers, das auf einen bestimmten Bereich gesetzt ist, übergeben, um den Scan auf relevante Seiten zu beschränken und die Verarbeitungszeit zu verkürzen.

Wie gehen Sie mit mehreren BarCodes und QR-Codes um?

In Produktionsanwendungen müssen häufig mehrere Barcodes aus einem einzigen Bild erkennen oder die Ergebnisse nach Barcode-Typ filtern. Die Klasse BarcodeReaderOptions stellt die Konfigurationseigenschaften bereit, die das Erkennungsverhalten steuern. Die Einstellung ExpectMultipleBarcodes auf true weist den Reader an, nach dem ersten Treffer mit dem Scannen fortzufahren, anstatt es vorzeitig zu beenden:

using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
using IronBarCode;

// Configure the reader for multi-barcode detection with type filtering
var options = new BarcodeReaderOptions
{
    ExpectMultipleBarcodes = true,
    ExpectBarcodeTypes = BarcodeEncoding.QRCode | BarcodeEncoding.Code128,
    Speed = ReadingSpeed.Balanced
};

var barcodes = BarcodeReader.Read(imagePath, options);

foreach (var barcode in barcodes)
{
    Console.WriteLine($"Type: {barcode.BarcodeType}, Value: {barcode.Value}");
}
$vbLabelText   $csharpLabel

Die Eigenschaft Speed steuert den Kompromiss zwischen Scanzeit und Genauigkeit. ReadingSpeed.Faster priorisiert den Durchsatz und eignet sich daher für Anwendungen, die hochwertige Bilder in großen Mengen scannen. ReadingSpeed.ExtraSlow wendet aggressivere Bildkorrekturen für schwierige Eingaben an – beispielsweise bei geringem Kontrast, schrägen Winkeln oder teilweise verdeckten Codes. ReadingSpeed.Balanced ist der richtige Ausgangspunkt für die meisten Anwendungen.

Die Aufzählung BarcodeEncoding unterstützt bitweise Kombinationen, sodass Sie das Scannen auf genau die für den Anwendungsfall relevanten Symbologien beschränken können, ohne die Leistung durch unnötige Prüfungen zu beeinträchtigen.

Wie liest man Barcodes aus Speicherströmen?

Dateipfade funktionieren in den meisten Fällen gut, aber einige .NET MAUI -Workflows leiten Bilddaten über den Speicher weiter – aufgenommene Frames aus einer Kameravorschau, Bytes, die von einer REST-API heruntergeladen wurden, oder Bilddaten, die im Prozess generiert wurden. IronBarcode unterstützt System.IO.Stream Eingaben direkt auf der BarcodeReader.Read() Überladung:

using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
using IronBarCode;
using System.IO;

// Read a barcode from a MemoryStream (e.g., an in-memory image buffer)
private BarcodeResult[] ReadFromStream(Stream imageStream)
{
    return BarcodeReader.Read(imageStream);
}

// Example: download an image and scan without writing to disk
private async Task<string> ScanDownloadedBarcode(string imageUrl)
{
    using var httpClient = new HttpClient();
    using var stream = await httpClient.GetStreamAsync(imageUrl);
    using var memoryStream = new MemoryStream();

    await stream.CopyToAsync(memoryStream);
    memoryStream.Position = 0;

    var barcodes = BarcodeReader.Read(memoryStream);
    return barcodes.Any() ? barcodes.First().Value : string.Empty;
}
$vbLabelText   $csharpLabel

Die Stream-Überladung akzeptiert jede Stream Unterklasse, einschließlich MemoryStream, FileStream und Netzwerk-Streams. Die Bibliothek übernimmt die Formaterkennung intern, daher müssen Sie den Bildtyp nicht vor dem Aufruf von Read() angeben.

Wie generiert man Barcodes in einer MAUI-App?

IronBarcode übernimmt sowohl die Barcode-Generierung als auch das Lesen. Die Klasse BarcodeWriter erzeugt Barcodes als Bilddateien, Bitmap Objekte oder Stream Instanzen, die Sie inline in einer MAUI-Ansicht anzeigen können. Dies ist nützlich für Inventarisierungs-Apps, die neben der Scanfunktion auch Barcodes drucken oder teilen müssen:

using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
using IronBarCode;

// Generate a QR code and display it in a MAUI Image control
private async void OnGenerateQrClicked(object sender, EventArgs e)
{
    // Create a QR code barcode
    var qrCode = QRCodeWriter.CreateQrCode(
        value: "https://ironsoftware.com/csharp/barcode/",
        qrCodeSize: 500,
        errorCorrection: QRCodeWriter.QrErrorCorrectionLevel.Medium
    );

    // Save to a temporary file and display
    var tempPath = Path.Combine(FileSystem.CacheDirectory, "generated-qr.png");
    qrCode.SaveAsPng(tempPath);

    GeneratedImageView.Source = ImageSource.FromFile(tempPath);
}
$vbLabelText   $csharpLabel

Die Klasse QRCodeWriter unterstützt alle vier QR-Fehlerkorrekturstufen (Niedrig, Mittel, Quartil, Hoch), benutzerdefinierte Größen- und Stylingoptionen einschließlich Vorder-/Hintergrundfarbensteuerung. Für Nicht-QR-Symbologien verwenden Sie BarcodeWriter.CreateBarcode() mit dem entsprechenden Wert BarcodeEncoding. Die Referenzdokumentation der Barcode-Generierungs-API umfasst alle unterstützten Ausgabeformate.

Was sind die wichtigsten Funktionen dieser Barcode-Scanner-Bibliothek?

IronBarcode bietet for .NET MAUI -Barcode-Scanning-Projekte mehrere Vorteile, die es von Open-Source-Alternativen wie ZXing .NET.MAUI unterscheiden:

IronBarcode -Funktionen für die .NET MAUI Entwicklung
FähigkeitDetail
Plattformübergreifende UnterstützungUnterstützt Android, iOS und Windows mit einem einzigen NuGet Paket
Mehrere EingangsquellenScannen aus Dateipfaden, Speicherströmen und PDF-Dokumenten
FormatabdeckungDekodiert über 30 1D- und 2D-Symbologien, darunter QR, Data Matrix und PDF417
Barcode-ErzeugungErzeugt QR-Codes und 1D-Barcodes als PNG-, Bitmap- oder Stream-Ausgabe.
BildkorrekturAutomatische Verarbeitung von gedrehten, schrägen und kontrastarmen Eingangssignalen
Keine native SDK-AbhängigkeitReine .NET Bibliothek, die keine plattformspezifischen nativen Bindungen erfordert

Der Punkt "keine Abhängigkeit vom nativen SDK" ist in .NET MAUI Projekten wichtig, da plattformspezifische native Bibliotheken für jedes Ziel separate Verknüpfungsschritte erfordern. IronBarcode umgeht diese Komplexität vollständig, was bedeutet, dass dieselbe NuGet Referenz ohne zusätzliche Konfiguration funktionierende Binärdateien für alle drei unterstützten Plattformen erzeugt.

Eine vollständige Liste der unterstützten Barcode-Formate finden Sie in der IronBarcode Dokumentation zu den unterstützten Formaten . Informationen zu Preisen und Lizenzbedingungen für den Produktionseinsatz finden Sie auf derIronBarcode -Lizenzseite .

Was sind die besten Vorgehensweisen für das Barcode-Scannen in der Produktion?

Der Einsatz eines Barcode-Scanners in der Produktion erfordert die Berücksichtigung einiger Bereiche, die über den grundlegenden Lesevorgang hinausgehen. Die folgenden Richtlinien behandeln die häufigsten Fehlerquellen in .NET MAUI Barcode-Anwendungen.

Wählen Sie die richtige Lesegeschwindigkeit. ReadingSpeed.Balanced verarbeitet die meisten realen Bilder korrekt. Reservieren Sie ReadingSpeed.ExtraSlow für Scans von gedruckten Dokumenten oder Bildern, die Benutzer nicht erneut erfassen können. Vermeiden Sie ReadingSpeed.ExtraSlow bei Workflows mit hohem Datenaufkommen, da jeder Scan deutlich länger dauert.

Filtern Sie nach erwarteten Typen. Wenn die App nur QR-Codes verarbeitet, setzen Sie ExpectBarcodeTypes = BarcodeEncoding.QRCode. Durch die Einschränkung des Suchraums wird die Verarbeitungszeit verkürzt und Fehlalarme durch andere in Hintergrundgrafiken vorhandene Symboliken werden vermieden.

Verwenden Sie ExpectMultipleBarcodes nur bei Bedarf. Die Einstellung auf true führt immer zu zusätzlichen Durchläufen des Readers. Bei Eingaben mit nur einem Barcode sollte die Standardeinstellung (false) beibehalten werden, damit der Scanvorgang zurückkehrt, sobald der erste gültige Code gefunden wurde.

Leere Ergebnisse werden korrekt behandelt. BarcodeReader.Read() gibt ein leeres Array zurück, anstatt eine Ausnahme auszulösen, wenn keine Barcodes erkannt werden. Prüfen Sie .Any(), bevor Sie auf First() zugreifen, und geben Sie dem Benutzer eine eindeutige Meldung aus. Eine Aufforderung zum erneuten Versuch mit Hinweisen wie "Stellen Sie sicher, dass der Barcode gut beleuchtet und zentriert ist" verbessert das Benutzererlebnis mehr als eine allgemeine Fehlermeldung.

Das Optionenobjekt wird zwischengespeichert. Das Erstellen einer BarcodeReaderOptions-Instanz bei jedem Scan erhöht die Speicherzuweisungen. Die Optionen werden einmalig auf Klassenebene erstellt und können dann bei mehreren Aufrufen wiederverwendet werden.

Weitere Hinweise zur Diagnose von Scanfehlern und zur Leistungsoptimierung finden Sie im IronBarcode Leitfaden zur Fehlerbehebung und im Tutorial zum Barcode-Lesegerät .

Was sind Ihre nächsten Schritte?

Um einen .NET MAUI Barcode-Scanner mit IronBarcode zu erstellen, ist die Installation eines einzigen NuGet Pakets, die Konfiguration der Plattformberechtigungen und der Aufruf von BarcodeReader.Read() mit einem Dateipfad oder Stream erforderlich. Dieselbe API zielt auf Android, iOS und Windows ab, ohne dass plattformspezifische Codezweige erforderlich sind.

Um die App weiter auszubauen, sollten Sie folgende Ressourcen in Betracht ziehen:

Starten Sie Ihre kostenlose Testphase , um einen Entwicklungslizenzschlüssel zu erhalten, oder informieren Sie sich über Lizenzoptionen für den Produktionseinsatz.

Häufig gestellte Fragen

Was ist .NET MAUI und warum ist die Integration des Barcode-Scannens so schwierig?

.NET MAUI ist ein plattformübergreifendes UI-Framework, das Android, iOS und Windows mit einer einzigen Codebasis unterstützt. Das Scannen von Barcodes ist eine Herausforderung, da jede Plattform unterschiedliche Kamera- und Speicher-APIs bereitstellt. IronBarcode bietet eine einheitliche .NET API, die diese Plattformunterschiede automatisch berücksichtigt.

Welche Barcode-Formate unterstützt IronBarcode in .NET MAUI Anwendungen?

IronBarcode unterstützt über 30 Barcode-Symbologien, darunter QR-Code, Code 128, Code 39, EAN-13, EAN-8, UPC-A, UPC-E, Data Matrix, PDF417, Aztec und ITF. Verwenden Sie die Enumeration „BarcodeEncoding“, um nach bestimmten Formaten zu filtern.

Kann IronBarcode Barcodes aus PDF-Dateien in einer .NET MAUI Anwendung lesen?

Ja. Die Methode `BarcodeReader.ReadPdf()` scannt alle Seiten eines PDF-Dokuments und gibt eine `BarcodeResult`-Sammlung zurück. Jedes Ergebnis enthält den Barcode-Wert, den Typ und die Seitenzahl.

Funktioniert IronBarcode auf allen .NET MAUI Zielplattformen?

IronBarcode unterstützt Android-, iOS- und Windows-Zielplattformen in einem .NET MAUI Projekt mithilfe eines einzigen NuGet Pakets. Es sind keine plattformspezifischen nativen SDK-Bindungen erforderlich.

Wie scannt man mehrere Barcodes aus einem einzigen Bild?

Setzen Sie `ExpectMultipleBarcodes = true` in `BarcodeReaderOptions` und übergeben Sie das Optionenobjekt an `BarcodeReader.Read()`. Der Leser führt dann zusätzliche Scan-Durchgänge durch, um alle Barcodes im Bild zu erkennen.

Worin besteht der Unterschied zwischen ReadingSpeed.Faster und ReadingSpeed.ExtraSlow?

ReadingSpeed.Faster priorisiert den Durchsatz und eignet sich gut für qualitativ hochwertige Bilder. ReadingSpeed.ExtraSlow wendet eine aggressivere Bildkorrektur an und ist für anspruchsvolle Eingaben wie kontrastarme, gedrehte oder teilweise verdeckte Barcodes geeignet.

Kann IronBarcode Barcodes aus einem MemoryStream lesen?

Ja. BarcodeReader.Read() akzeptiert einen System.IO.Stream-Parameter, der MemoryStream, FileStream und Netzwerk-Streams umfasst. Dies ermöglicht das Scannen von Bilddaten im Arbeitsspeicher, ohne diese auf die Festplatte zu schreiben.

Wie generiert man einen QR-Code in einer .NET MAUI App mit IronBarcode?

Verwenden Sie QRCodeWriter.CreateQrCode() mit dem Zielwert, der Größe und dem Fehlerkorrekturlevel. Speichern Sie das Ergebnis als PNG-Datei mit SaveAsPng() und zeigen Sie es in einem MAUI-Image-Steuerelement mit ImageSource.FromFile() an.

Welche Berechtigungen sind für das Scannen von Barcodes in einer .NET MAUI Android-App erforderlich?

Fügen Sie android.permission.READ_EXTERNAL_STORAGE und android.permission.CAMERA zur AndroidManifest.xml hinzu. Fügen Sie für iOS die Schlüssel NSPhotoLibraryUsageDescription und NSCameraUsageDescription zur Info.plist hinzu.

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