.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, 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.

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

  1. Visual Studio 2022

  2. 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>
XML

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
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 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.

.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Abbildung 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 mit 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 mit IronBarcode - Abbildung 3: Kopierwarnung

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. 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.