Wie man Barcode in C# mit .NET MAUI liest und scannt

.NET MAUI Barcode Scanner

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

Einführung

.NET MAUI (.NET Multi-platform App UI) ist ein plattformübergreifendes Framework, um nahtlos plattformübergreifende Anwendungen in einer 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 nutzen und ihnen zusätzliche Komponenten bereitzustellen. Als Ergebnis können Entwickler diese vorgefertigten Komponenten und Dienste verwenden, um die Anwendungen schneller zu erstellen, ohne jeden Aspekt des Codes von Grund auf zu schreiben.

In diesem Artikel erklären wir, wie man IronBarcode in einer .NET MAUI Windows-App integriert, um einen Barcode oder QR-Code zu scannen.

class="hsg-featured-snippet">

Wie man Barcodes in .NET MAUI liest und scannt

  1. Installieren Sie die C#-Bibliothek zum Lesen und Scannen von Barcodes
  2. Gestalten Sie die Benutzeroberfläche der Anwendung entsprechend der Aufgabe in .NET MAUI
  3. Erhalten Sie den Bildpfad des gegebenen Barcodes
  4. Verwenden Sie die Read-Methode, um den bereitgestellten Barcode zu scannen
  5. Kopieren Sie den Ergebniswert mit der SetTextAsync-Methode

IronBarcode: C# Barcode-Bibliothek

Zum Lesen von Barcodes in unserer Anwendung verwenden wir die IronBarcode .NET-Bibliothek. Sie bietet eine robuste und einfache API zum Lesen von Barcodes und ermöglicht die Entwicklung ohne Aufwand oder Barcode-Domain-Wissen. Sie kann einfach mit dem NuGet-Paketmanager installiert werden.

IronBarcode unterstützt eine Vielzahl von Barcode-Formaten zum Lesen, einschließlich Code 39, Code 128, PDF417 und viele mehr. Sie können aus verschiedenen Datenformaten wie Bilddateien, Speicherströmen und PDFs lesen.

Schritte zum Lesen von Barcodes in einer .NET MAUI-App

Folgen Sie diesen Schritten, 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 mithilfe der NuGet Package Manager Console installieren. Um diese Konsole in Visual Studio zu öffnen, navigieren Sie zu Tools > NuGet Package Manager > Package Manager Console. Geben Sie dann den folgenden Befehl in der Konsole ein:

Install-Package BarCode

Dieser Konsolenbefehl lädt die neueste Version der IronBarcode-Bibliothek im MAUI-Projekt herunter. Alternativ könnten Sie auch auf der NuGet-Website nach der neuesten Version des Pakets suchen.

Front-End

Der erste Schritt besteht darin, das Front-End-Design zu erstellen. Dafür erstellen wir ein Layout, das aus zwei Schaltflächen, einem Textbereich und einer Bildbox besteht. Eine Schaltfläche wird verwendet, um den Barcode auszuwählen, und eine weitere wird den Text des Barcodes kopieren. Die Bildbox zeigt das ausgewählte Bild an.

Ersetzen Sie den Inhalt in der MainPage.xaml-Datei 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>
<?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 befinden sich in einem vertikalen Stapel mit zentrierter Position. Sie können es nach Ihren Vorlieben ändern.

Barcode-Scannen mit IronBarcode

In diesem Abschnitt wird der Code zum Scannen von Barcodes mit der IronBarcode-Bibliothek beschrieben. Zuerst verwenden wir eine FilePicker, um die Datei auszuwählen und den Dateityp für das Bild anzugeben. Danach verwenden wir die FullPath-Eigenschaft, um den Pfad der Bilddatei zu erhalten, und setzen dann die Quelle der Bildbox auf den FullPath-Wert. Schließlich verwenden wir den path-Wert in der Read-Funktion des BarcodeReader, um den Text abzurufen.

private async void SelectBarcode(object sender, EventArgs e)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
private async void SelectBarcode(object sender, EventArgs e)
{
    // Use FilePicker to allow the user to select an image file.
    var images = await FilePicker.Default.PickAsync(new PickOptions
    {
        PickerTitle = "Pick image",
        FileTypes = FilePickerFileType.Images
    });

    // Get the full path of the selected image file.
    var imageSource = images.FullPath.ToString();

    // Set the source of the Image view to the selected image's path.
    barcodeImage.Source = imageSource;

    // Use IronBarcode to read the barcode from the image file and get the first result.
    var result = BarcodeReader.Read(imageSource).First().Text;

    // Display the read result in the Editor.
    outputText.Text = result;
}
Private Async Sub SelectBarcode(ByVal sender As Object, ByVal e As EventArgs)
	' Use FilePicker to allow the user to select an image file.
	Dim images = Await FilePicker.Default.PickAsync(New PickOptions With {
		.PickerTitle = "Pick image",
		.FileTypes = FilePickerFileType.Images
	})

	' Get the full path of the selected image file.
	Dim imageSource = images.FullPath.ToString()

	' Set the source of the Image view to the selected image's path.
	barcodeImage.Source = imageSource

	' Use IronBarcode to read the barcode from the image file and get the first result.
	Dim result = BarcodeReader.Read(imageSource).First().Text

	' Display the read result in the Editor.
	outputText.Text = result
End Sub
$vbLabelText   $csharpLabel

Der unten gezeigte Code wird verwendet, um den Text des Texteditors zu kopieren und dem Benutzer eine Benachrichtigung anzuzeigen, dass der Text kopiert wurde.

private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
private async void CopyEditorText(object sender, EventArgs e)
{
    // Copy the text from the Editor to the clipboard.
    await Clipboard.SetTextAsync(outputText.Text);

    // Show a success message to the user.
    await DisplayAlert("Success", "Text is copied!", "OK");
}
Private Async Sub CopyEditorText(ByVal sender As Object, ByVal e As EventArgs)
	' Copy the text from the Editor to the clipboard.
	Await Clipboard.SetTextAsync(outputText.Text)

	' Show a success message to the user.
	Await DisplayAlert("Success", "Text is copied!", "OK")
End Sub
$vbLabelText   $csharpLabel

You can find the project source code in this article on GitHub.

Ausgabe

Nach dem Starten des Projekts wird die folgende Ausgabe angezeigt. Das Bild wird nicht angezeigt, da es noch nicht ausgewählt ist.

class="content-img-align-center">.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 1: Output when no image is selected

Ausgabe, wenn kein Bild ausgewählt ist

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

class="content-img-align-center">.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 2: Output after image is selected

Ausgabe nach Auswahl des Bildes

Durch Klicken auf die Kopierschaltfläche wird das zuvor erwähnte Benachrichtigungsfenster angezeigt.

class="content-img-align-center">.NET MAUI Barcode Scanner Tutorial Using IronBarcode - Figure 3: Copy alert

Kopierwarnung

Abschluss

In diesem Artikel haben wir erklärt, wie wir Barcodes in einer .NET MAUI-Anwendung mit IronBarcode lesen können. Als QR-Code-Reader funktioniert IronBarcode sehr gut – es liefert die erwartete präzise Ausgabe. Darüber hinaus kann es Barcodes lesen, die schwer zu lesen sind. Sie können auch Barcodes erstellen und anpassen, indem Sie verschiedene Schriftarten verwenden. Weitere Tutorial-Beiträge zu IronBarcode finden Sie über diesen Link.

IronBarcode muss für die Entwicklung und kommerzielle Nutzung lizenziert sein. Weitere Informationen zur Lizenzierung finden Sie hier.

Häufig gestellte Fragen

Wie kann ich QR-Codes in einer .NET MAUI-Anwendung scannen?

Sie können QR-Codes in einer .NET MAUI-Anwendung scannen, indem Sie die IronBarcode-Bibliothek verwenden. Installieren Sie die Bibliothek über den NuGet-Paket-Manager in Visual Studio und verwenden Sie die Methode BarcodeReader.Read, um Text aus einer ausgewählten Bilddatei zu extrahieren.

Wie funktioniert die Installation von IronBarcode in einem .NET MAUI-Projekt?

Um IronBarcode in einem .NET MAUI-Projekt zu installieren, öffnen Sie die NuGet-Paket-Manager-Konsole in Visual Studio und führen Sie den Befehl Install-Package Barcode aus, um die Bibliothek herunterzuladen und zu installieren.

Welche Barcode-Formate können mit der IronBarcode-Bibliothek gelesen werden?

IronBarcode unterstützt eine Vielzahl von Barcode-Formaten, einschließlich QR-Codes, Code 39, Code 128, PDF417 und mehr, und bietet vielseitige Barcode-Lesefähigkeiten in Ihren Anwendungen.

Wie gestalte ich die Schnittstelle für eine Barcode-Scanner-App in .NET MAUI?

In .NET MAUI kann die Schnittstelle für eine Barcode-Scanner-App mithilfe von XAML entworfen werden. Typischerweise umfasst es ein Layout mit Schaltflächen, einem Textbereich und einem Bildfeld, die in der Datei MainPage.xaml definiert werden können.

Wie kann ich den gescannten Barcode-Text in der Zwischenablage einer .NET MAUI-App kopieren?

Verwenden Sie die Clipboard.SetTextAsync-Methode in Ihrer .NET MAUI-App, um den gescannten Barcode-Text in die Zwischenablage zu kopieren. Diese Methode kann durch einen Button-Klick ausgelöst werden, der eine Warnung zur Bestätigung der Aktion anzeigt.

Ist es möglich, das Erscheinungsbild von Barcodes in .NET MAUI mit IronBarcode anzupassen?

Ja, IronBarcode ermöglicht die Anpassung des Erscheinungsbilds von Barcodes durch Bereitstellung von Optionen zum Ändern von Schriftarten, Farben und Stilen, um die Erstellung von optisch maßgeschneiderten Barcodes zu ermöglichen.

Benötige ich eine Lizenz, um IronBarcode in kommerziellen Anwendungen zu verwenden?

Ja, eine Lizenz ist erforderlich, um IronBarcode sowohl für Entwicklungs- als auch für kommerzielle Zwecke zu verwenden. Lizenzierungsdetails und -optionen sind auf der IronBarcode-Website verfügbar.

Wo kann ich auf den Quellcode für das .NET MAUI Barcode-Scanner-Tutorial zugreifen?

Der Quellcode für das .NET MAUI Barcode-Scanner-Tutorial ist auf GitHub verfügbar. Ein Link zum Repository wird im Artikel bereitgestellt, um einfachen Zugriff zu ermöglichen.

Wie verbessert IronBarcode das Barcode-Scanning in .NET MAUI-Apps?

IronBarcode verbessert das Barcode-Scanning in .NET MAUI-Apps, indem es eine robuste API bietet, die mehrere Barcode-Formate unterstützt und nahtlose Integration mit .NET MAUI-Projekten ermöglicht, was effizientes und genaues Barcode-Lesen gewährleistet.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 1,935,276 | Version: 2025.11 gerade veröffentlicht