.NET MAUI Strichcode-Scanner
Einführung
.NET MAUI (.NET Multiplattform-Anwendung UI)ist ein plattformübergreifendes Framework, um nahtlos plattformübergreifende Anwendungen in einem einzigen Codebasis zu erstellen. 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.
So lesen und scannen Sie Barcodes in .NET MAUI
- Installieren Sie die C#-Bibliothek zum Lesen und Scannen von Barcodes.
- Gestalte das Frontend der Anwendung entsprechend der Aufgabe in .NET MAUI.
- Erhalten Sie den Bildpfad des angegebenen Barcode-Bildes
- Verwenden Sie die
Lesen Sie
methode zum Scannen des angegebenen Barcodes - Kopieren Sie den Ergebniswert mit dem
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 mit der 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 dem suchen.NuGet-Website.
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 durch den folgenden Text:
<?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. Zunächst verwenden wir einen FilePicker
, um die Datei auszuwählen und den Dateityp für das Bild anzugeben. Danach verwenden wir die Eigenschaft "FullPath", um den Pfad der Bilddatei abzurufen, und setzen dann die Quelle des Bildfeldes auf den Wert "FullPath". Schließlich wird der Wert "Pfad" in der Funktion "Lesen" des "BarcodeReaders" verwendet, 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
Sie können den Quellcode des Projekts in diesem Artikel unter finden GitHub.
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.
Wenn der Barcode ausgewählt ist, wird er wie im folgenden Screenshot angezeigt, und der Ausgabetext des QR-Codes wird im Editor angezeigt.
Wenn Sie auf die Schaltfläche Kopieren klicken, wird das oben erwähnte Warnfenster angezeigt.
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. Weitere Tutorials zu IronBarcode finden Sie auf dieser Seitelink.
IronBarcode muss für die Entwicklung und kommerzielle Nutzung lizenziert werden. Weitere Informationen zur Lizenzierung finden Siehier.