.NET MAUI Strichcode-Scanner
Einführung
.NET MAUI (.NET Multi-platform App UI) ist ein plattformübergreifendes Framework zur nahtlosen Erstellung plattformübergreifender Anwendungen in einem einzigen Codebasis. Zum Beispiel können Sie ganz einfach Microsoft Windows-, iOS- und Android-Anwendungen in einem Projekt erstellen. Was es von anderen Plattformen, Frameworks und Bibliotheken unterscheidet, ist die Art und Weise, wie es der Entwicklergemeinschaft ermöglicht, die nativen Steuerelemente in ihren Projekten zu verwenden und ihnen zusätzliche Komponenten zur Verfügung zu stellen. So können Entwickler diese vorgefertigten Komponenten und Dienste nutzen, um die Anwendungen schneller zu erstellen, ohne jeden Aspekt des Codes von Grund auf neu schreiben zu müssen.
In diesem Artikel erklären wir, wie man IronBarcode in einer .NET MAUI Windows-App integriert, um einen Barcode oder QR-Code zu scannen.
How to Read & Scan Barcodes in .NET MAUI
- Installieren Sie die C#-Bibliothek zum Lesen und Scannen von Barcodes
- Gestalten Sie das Anwendungs-Front-End entsprechend der Aufgabe in .NET MAUI
- Abruf des Bildpfads des angegebenen Barcode-Bildes
- Verwenden Sie die
Read
-Methode, um den bereitgestellten Barcode zu scannen - Kopieren Sie den Ergebniswert mit der
SetTextAsync
-Methode
IronBarcode: C# Barcode-Bibliothek
Um Barcodes in unserer Anwendung zu lesen, verwenden wir unsere IronBarcode .NET-Bibliothek. Es bietet eine robuste und einfache API zum Lesen von Barcodes, die eine problemlose Entwicklung ohne spezielles Wissen im Barcode-Bereich ermöglicht. Es kann einfach mit dem NuGet-Paket-Manager installiert werden.
IronBarcode unterstützt eine Vielzahl von Barcode-Formaten zum Lesen, darunter Code 39, Code 128, PDF417 und viele andere. Sie können aus einer Vielzahl von Datenformaten lesen, wie z.B. Bilddateien, Speicherstreams und PDFs.
Schritte zum Lesen von Barcodes in einer .NET MAUI-App
Befolgen Sie diese Schritte, um einen Barcode in einer .NET MAUI-App zu lesen.
Voraussetzungen
-
Visual Studio 2022
- Ein .NET MAUI-Projekt in Visual Studio
IronBarcode-Bibliothek installieren
Wir können die IronBarcode-Bibliothek über die NuGet Package Manager Console
installieren. Um diese Konsole in Visual Studio zu öffnen, navigieren Sie zu Tools > NuGet-Paket-Manager > Paket-Manager-Konsole
. Geben Sie dann den folgenden Befehl in die Konsole ein:
Install-Package BarCode
Mit diesem Konsolenbefehl wird die neueste Version der IronBarcode-Bibliothek in das MAUI-Projekt heruntergeladen. Alternativ können Sie auch nach der neuesten Version des NuGet-Pakets auf der NuGet-Website suchen.
Front-End
Der erste Schritt wird die Erstellung des Frontend-Designs sein. Dafür erstellen wir ein Layout, das aus zwei Schaltflächen, einem Textbereich und einem Bildfeld besteht. Eine Schaltfläche dient zur Auswahl des Strichcodes, eine weitere zum Kopieren des Textes des Strichcodes. Im Feld Bild wird das ausgewählte Bild angezeigt.
Ersetzen Sie den Inhalt der Datei MainPage.xaml mit dem folgenden:
<?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="MAUI_Barcode.MainPage">
<ScrollView>
<VerticalStackLayout
Spacing="25"
Padding="30,0"
VerticalOptions="Center">
<Button
x:Name="ImageSelect"
Text="Select Barcode"
SemanticProperties.Hint="Select Image"
Clicked="SelectBarcode"
HorizontalOptions="Center" />
<Image
x:Name="barcodeImage"
SemanticProperties.Description="Selected Barcode"
HeightRequest="200"
HorizontalOptions="Center" />
<Editor x:Name="outputText"
Placeholder="Output text"
HeightRequest="100"
WidthRequest="500" />
<Button
x:Name="copyText"
Text="Copy"
SemanticProperties.Hint="Copy Text"
WidthRequest="150"
Clicked="CopyEditorText"
HorizontalOptions="Center" />
</VerticalStackLayout>
</ScrollView>
</ContentPage>
Alle Elemente sind in einem vertikalen Stapel mit zentraler Position angeordnet. Sie können sie nach Ihren Wünschen ändern.
Barcode-Scannen mit IronBarcode
In diesem Abschnitt wird der Code zum Scannen von Barcodes mit Hilfe der IronBarcode-Bibliothek beschrieben. Zuerst verwenden wir einen FilePicker
, um die Datei auszuwählen und den Dateityp für das Bild anzugeben. Danach werden wir die FullPath
-Eigenschaft verwenden, um den Pfad der Bilddatei abzurufen, und dann die Quelle der Bildbox auf den FullPath
-Wert setzen. Schließlich werden wir den path
-Wert in der Read
-Funktion des BarcodeReader
verwenden, um den Text abzurufen.
private async void SelectBarcode(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
barcodeImage.Source = imageSource;
var result = BarcodeReader.Read(imageSource).First().Text;
outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
var images = await FilePicker.Default.PickAsync(new PickOptions
{
PickerTitle = "Pick image",
FileTypes = FilePickerFileType.Images
});
var imageSource = images.FullPath.ToString();
barcodeImage.Source = imageSource;
var result = BarcodeReader.Read(imageSource).First().Text;
outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
.PickerTitle = "Pick image",
.FileTypes = FilePickerFileType.Images
})
Dim imageSource = images.FullPath.ToString()
barcodeImage.Source = imageSource
Dim result = BarcodeReader.Read(imageSource).First().Text
outputText.Text = result
End Sub
Der unten gezeigte Code wird verwendet, um den Text des Texteditors zu kopieren und eine Warnmeldung für den Benutzer anzuzeigen, dass der Text kopiert wurde.
private async void CopyEditorText (object sender, EventArgs e)
{
await Clipboard.SetTextAsync(outputText.Text);
await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText (object sender, EventArgs e)
{
await Clipboard.SetTextAsync(outputText.Text);
await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
Await Clipboard.SetTextAsync(outputText.Text)
Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
Den Quellcode des Projekts finden Sie in diesem Artikel auf [GitHub](https://github.com/tayyab-create/Read-and-Scan-Barcode-in-MAUI" target="_blank" rel="nofollow noopener noreferrer).
Ausgabe
Nachdem Sie das Projekt ausgeführt haben, sehen Sie die folgende Ausgabe. Das Bild wird nicht angezeigt, weil es noch nicht ausgewählt ist.

Ausgabe, wenn kein Bild ausgewählt ist
Wenn der Barcode ausgewählt ist, wird er wie im folgenden Screenshot angezeigt, und der Ausgabetext des QR-Codes wird im Editor angezeigt.

Ausgabe nach Auswahl des Bildes
Wenn Sie auf die Schaltfläche Kopieren klicken, wird das oben erwähnte Warnfenster angezeigt.

Warnmeldung kopieren
Schlussfolgerung
In diesem Artikel haben wir erklärt, wie wir Barcodes in einer .NET MAUI-Anwendung mit IronBarcode lesen können. Als QR-Code-Leser leistet IronBarcode hervorragende Arbeit – es liefert das erwartete genaue Ergebnis. Darüber hinaus kann es Barcodes lesen, die schwer zu lesen sind. Sie können die Barcodes auch unter Verwendung verschiedener Schriftarten erstellen und anpassen. Erhalten Sie weitere Tutorial-Beiträge zu IronBarcode über diesen Link.
IronBarcode muss für die Entwicklung und kommerzielle Nutzung lizenziert werden. Weitere Informationen zur Lizenzierung finden Sie hier.