.NET MAUI Barcode-Scanner
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 Barcodes und QR-Codes zu scannen — ein leistungsstarker Barcode-Scanner für plattformübergreifende Anwendungen.
Wie man Barcodes in .NET MAUI liest und scannt
- C#-Bibliothek zum Lesen und Scannen von Barcodes installieren
- Gestalten Sie das Frontend der Anwendung entsprechend der Aufgabe in .NET MAUI
- Erhalten Sie den Bildpfad des gegebenen Barcode-Bildes
- Verwenden Sie die Methode `Lesen`, um den bereitgestellten Barcode zu scannen
- Kopieren des Ergebniswertes mit der Methode `SetTextAsync`
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
- Visual Studio 2022
- Ein .NET MAUI-Projekt in Visual Studio
IronBarcode-Bibliothek installieren
Wir können die IronBarcode Bibliothek mit NuGet installieren Package Manager Console. 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>
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 FilePicker, um die Datei auszuwählen und den Dateityp für das Bild anzugeben. Anschließend verwenden wir die Eigenschaft FullPath, um den Pfad der Bilddatei abzurufen, und setzen dann die Quelle des Bildfelds auf den Wert FullPath. Schließlich verwenden wir den Wert path in der Funktion Read der Funktion 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
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
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.
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.
Ausgabe nach Auswahl des Bildes
Durch Klicken auf die Kopierschaltfläche wird das zuvor erwähnte Benachrichtigungsfenster angezeigt.
Warnung kopieren
Abschluss
In diesem Artikel haben wir gezeigt, wie Barcodes in einer .NET MAUI-Anwendung mit IronBarcode gelesen werden. Als Barcode-Scanner und QR-Code-Reader liefert IronBarcode präzise Ergebnisse und kann auch schwer lesbare Barcodes verarbeiten. 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.

