.NET MAUI Strichcode-Scanner

This article was translated from English: Does it need improvement?
Translated
View the article in English

Einführung

.NET MAUI (.NET Multiplattform-Anwendung UI) ist ein plattformübergreifendes Framework, mit dem sich plattformübergreifende Anwendungen in einer einzigen Codebasis leichter erstellen lassen. So können Sie beispielsweise problemlos 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äre ich, wie wir einen QR-Code oder einen Barcode in der .NET MAUI Windows-App scannen können.

IronBarcode: C# Barcode-Bibliothek

IronBarcode for .NET ist die .NET Bibliothek, die hilft, Barcodes einfach in den Programmen zu erstellen. Sie bietet einen robusten und einfachen Satz von Standard-APIs. Die IronBarcode-Bibliothek bietet Funktionen zum Erzeugen und Lesen von QR-Codes oder anderen Barcodes auf Objektebene, so dass Sie sie einzeln entwickeln können, indem Sie ihre Methoden aufrufen, ohne sich um die Details der Erstellung eines Barcode-Objekts und Vorkenntnisse kümmern zu müssen. Darüber hinaus müssen keine externen Abhängigkeiten geladen werden, um zu funktionieren, und es kann einfach mit dem NuGet Package Manager heruntergeladen werden.

IronBarcode unterstützt mehrere QR- und moderne Barcodeformate wie Code 39, Code 128, PDF417 und viele mehr. Sie können diese .NET-Bibliothek auch als QR-Code-Leser und -Ersteller verwenden. Es dekodiert die Eingabedaten in menschenlesbaren Text. Sie können Input von Bildern, Streams, GIFs und vielem mehr erhalten. In diesem Artikel wird auch erklärt, wie wir die IronBarcode-Bibliothek zum Lesen und Scannen von QR-Codes in .NET MAUI-Anwendungen verwenden können.

Schritte zum Lesen und Scannen von Barcodes in .NET MAUI App

Folgen Sie den nächsten Schritten, um den QR-Code in der .NET MAUI App zu lesen.

Voraussetzungen

  1. Visual Studio 2022
  2. Ein laufendes .NET MAUI-Projekt in Visual Studio
  3. Stabiles Internet zur Installation der IronBarcode-Bibliothek zum Scannen von Barcodes

    Angenommen, Sie haben die oben genannten Voraussetzungen erfüllt, dann können Sie zum nächsten Schritt übergehen.

IronBarcode-Bibliothek installieren

Wir können die IronBarcode-Bibliothek über die NuGet Packages Console installieren. Schreiben Sie den folgenden Befehl in die Konsole:

Install-Package BarCode

Mit diesem Konsolenbefehl wird die neueste Version der IronBarcode-Bibliothek in das MAUI-Projekt heruntergeladen. Aber natürlich können Sie immer nach der neuesten Version der NuGet-Paketbibliothek auf derNuGet-Website.

Frontend

Als ersten Schritt müssen wir das Front-End-Design erstellen.

Wir werden ein Layout erstellen, 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>
XML

Alle Elemente sind vertikal gestapelt und befinden sich in der Mitte. 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
VB   C#

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
VB   C#

Sie können dieses Projekt zum Lesen und Scannen von Code auf 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.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 1: Ausgabe, wenn kein Bild 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.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Abbildung 2: Ausgabe nach Auswahl des Bildes

Ausgabe nach Auswahl des Bildes

Wenn Sie auf die Schaltfläche Kopieren klicken, wird das oben erwähnte Warnfenster angezeigt.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Abbildung 3: Warnmeldung kopieren

Warnmeldung kopieren

Schlussfolgerung

In diesem Artikel wurde erklärt, wie wir Barcodes in der .NET MAUI-Anwendung mit IronBarcode lesen können. IronBarcode ist ein komplettes Produkt mit allen notwendigen Tools, die Barcode-Operationen ermöglichen. Als QR-Code-Leser ist IronBarcode sehr gut geeignet. Sie liefert genau die erwartete Ausgabe. Außerdem kann es komplexe Barcodes lesen. Sie können die Barcodes auch unter Verwendung verschiedener Schriftarten erstellen und anpassen. Weitere Tutorials zu IronBarcode finden Sie auf dieser Seitelink.

IronBarcode ist für Entwicklungszwecke kostenlos. Für die kommerzielle Nutzung müssen Sie jedoch eine Lizenz erwerben. Sie können die Informationen zur Lizenz wie folgt abrufenlink.