.NET MAUI Skaner Kodów Kreskowych
Wprowadzenie
.NET MAUI (.NET Multi-platform App UI) to wielopłatformowy framework pozwalający na bezproblemowe tworzenie aplikacji wielopłatformowych w jednym kodzie źródłowym. Na przykład, można łatwo stworzyć aplikacje dla Microsoft Windows, iOS i Android w jednym projekcie. Co odróżnia go od innych platform, frameworków i bibliotek, to sposób, w jaki umożliwia społeczności deweloperskiej korzystanie z natywnych kontrolek w ich projektach i dostarcza im dodatkowe komponenty. W rezultacie deweloperzy mogą używać tych gotowych komponentów i usług do szybszego budowania aplikacji bez konieczności pisania każdej części kodu od podstaw.
W tym artykułe wyjaśnimy, jak zintegrować IronBarcode w aplikacji .NET MAUI na Windows, aby zeskanować kod kreskowy lub kod QR.
Jak czytać i skanować kody kreskowe w .NET MAUI
- Zainstaluj bibliotekę C# do odczytu i skanowania kodów kreskowych
- Zaprojektować front-end aplikacji zgodnie z zadaniem w .NET MAUI
- Pobierz ścieżkę obrazu dla danego obrazu kodu kreskowego
- Użyj metody
Readdo zeskanowania dostarczonego kodu kreskowego - Skopiuj wartość wyniku metodą
SetTextAsync
IronBarcode: C# Biblioteka Kodow Kreskowych
Aby czytać kody kreskowe w naszej aplikacji, będziemy używać biblioteki IronBarcode .NET. Zapewnia ona solidne i proste API do odczytu kodów kreskowych, umożliwiając rozwój bez problemów lub potrzeby wiedzy o domenie kodów kreskowych. Można ją łatwo zainstalować za pomocą menedżera pakietów NuGet.
IronBarcode obsługuje wiele formatów kodów kreskowych do odczytu, w tym Code 39, Code 128, PDF417, i wiele innych. Można czytać z różnorodnych formatów danych, takich jak pliki graficzne, strumienie pamięci i PDF-y.
Kroki do przeczytania kodów kreskowych w aplikacji .NET MAUI
Wykonaj te kroki, aby przeczytać kod kreskowy w aplikacji .NET MAUI.
Wymagania wstępne
- Visual Studio 2022
- Projekt .NET MAUI w Visual Studio
Zainstaluj bibliotekę IronBarcode
Bibliotekę IronBarcode można zainstalować za pomocą NuGet Package Manager Console. Aby otworzyć tę konsolę w Visual Studio, przejdź do Tools > NuGet Package Manager > Package Manager Console. Następnie wpisz następującą komendę w konsoli:
Install-Package BarCode
Ta komenda konsolowa pobierze najnowszą wersję biblioteki IronBarcode w projekcie MAUI. Alternatywnie, można również wyszukać najnowszą wersję pakietu NuGet na stronie NuGet.
Front-end
Pierwszym krokiem będzie stworzenie projektu front-end. W tym celu stworzymy układ złożony z dwóch przycisków, jednej strefy tekstowej i jednego pola obrazu. Jeden przycisk zostanie użyty do wyboru kodu kreskowego, a inny do skopiowania tekstu kodu kreskowego. Pole obrazu wyświetli wybrany obraz.
Zamień zawartość w pliku MainPage.xaml na poniższą:
<?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>
Wszystkie elementy są w pionowym stosie z pozycją środkową. Możesz zmienić to według własnych preferencji.
Skanowanie kodu kreskowego przy użyciu IronBarcode
Ta sekcja opisze kod do skanowania kodów kreskowych przy użyciu biblioteki IronBarcode. Najpierw użyjemy FilePicker, aby wybrać plik i określić typ pliku dla obrazu. Następnie użyjemy właściwości FullPath, aby pobrać ścieżkę do pliku obrazu, a następnie ustawimy źródło pola obrazu na wartość FullPath. Na koniec użyjemy wartości path w funkcji Read obiektu BarcodeReader, aby pobrać tekst.
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
Poniższy kod będzie używany do kopiowania tekstu edytora tekstu i wyświetlania użytkownikowi powiadomienia, że tekst został skopiowany.
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.
Wynik
Po uruchomieniu projektu zobaczysz następujące wyjście. Obraz nie jest wyświetlany, ponieważ nie został jeszcze wybrany.
Wyjście, gdy obraz nie jest wybrany
Gdy kod kreskowy zostanie wybrany, zostanie wyświetlony jak na poniższym zrzucie ekranu, a tekst wyjściowy kodu QR zostanie wyświetlony w edytorze.
Wyjście po wybraniu obrazu
Kliknięcie przycisku Kopiuj wywoła wcześniej wspomniane okno powiadomienia.
Powiadomienie o skopiowaniu
Wnioski
W tym artykułe wyjaśniliśmy, jak można czytać kody kreskowe w aplikacji .NET MAUI przy użyciu IronBarcode. Jako czytnik kodów QR, IronBarcode działa bardzo dobrze — zapewnia dokładne wyniki zgodnie z oczekiwaniami. Co więcej, może odczytywać kody kreskowe, które są trudne do odczytania. Możesz także tworzyć i dostosowywać kody kreskowe za pomocą różnych czcionek. Znajdź więcej postów samouczkowych dotyczących IronBarcode z tego linku.
IronBarcode musi być licencjonowany na potrzeby rozwoju i użytkowania komercyjnego. Więcej informacji na temat licencjonowania znajdziesz tutaj.
Często Zadawane Pytania
Jak mogę skanować kody QR w aplikacji .NET MAUI?
Możesz skanować kody QR w aplikacji .NET MAUI korzystając z biblioteki IronBarcode. Zainstaluj bibliotekę przez Menedżer Pakietów NuGet w Visual Studio i użyj metody BarcodeReader.Read do wyodrębnienia tekstu z wybranego pliku obrazu.
Jaki jest proces instalacji IronBarcode w projekcie .NET MAUI?
Aby zainstalować IronBarcode w projekcie .NET MAUI, otwórz konsolę NuGet Package Manager w Visual Studio i wykonaj polecenie Install-Package Barcode to pobrania i zainstalowania biblioteki.
Jakie formaty kodów kreskowych można odczytywać za pomocą biblioteki IronBarcode?
IronBarcode obsługuje różnorodne formaty kodów kreskowych, w tym kody QR, Code 39, Code 128, PDF417 i inne, co pozwala na wszechstronne możliwości odczytu kodów kreskowych w twoich aplikacjach.
Jak mogę zaprojektować interfejs dla aplikacji skanera kodów kreskowych w .NET MAUI?
W .NET MAUI interfejs dla aplikacji skanera kodów kreskowych można zaprojektować używając XAML. Zazwyczaj obejmuje układ z przyciskami, obszarem tekstowym i polem obrazu, które można zdefiniować w pliku MainPage.xaml.
Jak mogę skopiować zeskanowany tekst kodu kreskowego do schowka w aplikacji .NET MAUI?
Użyj metody Clipboard.SetTextAsync w aplikacji .NET MAUI, aby skopiować zeskanowany tekst kodu kreskowego do schowka. Ta metoda może być wywoływana przez kliknięcie przycisku, wyświetlając alert potwierdzający akcję.
Czy można dostosować wyglądy kodów kreskowych w .NET MAUI z IronBarcode?
Tak, IronBarcode pozwala na dostosowanie wyglądu kodów kreskowych, oferując opcje zmiany czcionek, kolorów i stylów, co umożliwia tworzenie wizualnie dopasowanych kodów kreskowych.
Czy potrzebuję licencji na używanie IronBarcode w aplikacjach komercyjnych?
Tak, aby używać IronBarcode do celów rozwojowych i komercyjnych wymagana jest licencja. Szczegóły i opcje licencyjne są dostępne na stronie IronBarcode.
Gdzie mogę uzyskać dostęp do kodu źródłowego samouczka skanera kodów kreskowych .NET MAUI?
Kod źródłowy dla tutoriala skanera kodów kreskowych .NET MAUI jest dostępny na GitHub. Link do repozytorium jest zamieszczony w artykule dla łatwego dostępu.
Jak IronBarcode poprawia skanowanie kodów kreskowych w aplikacjach .NET MAUI?
IronBarcode poprawia skanowanie kodów kreskowych w aplikacjach .NET MAUI, dostarczając solidne API, które obsługuje wiele formatów kodów kreskowych i bezproblemową integrację z projektami .NET MAUI, zapewniając wydajne i dokładne odczyty kodów kreskowych.
Czy IronBarcode obsługuje przetwarzanie partii kodów kreskowych?
Tak, IronBarcode wspiera przetwarzanie wsadowe, umożliwiając programistom generowanie lub odczytywanie wielu kodów kreskowych w jednej operacji, zwiększając efektywność dużych aplikacji.

