.NET MAUIバーコードスキャナー
イントロダクション
.NET MAUI (.NETマルチプラットフォームアプリUI)は、単一のコードベースでクロスプラットフォームアプリケーションをシームレスに作成するためのクロスプラットフォームフレームワークです。 たとえば、1つのプロジェクトでMicrosoft Windows、iOS、およびAndroidアプリケーションを簡単に作成できます。 他のプラットフォーム、フレームワーク、ライブラリと異なる点は、開発者コミュニティがプロジェクトでネイティブコントロールを使用できるようにし、追加コンポーネントも提供する点です。 その結果、開発者はこれらの既製コンポーネントとサービスを使用して、コードのすべての側面を一から記述することなく、より迅速にアプリケーションを構築することができます。
この記事では、バーコードやQRコードをスキャンするためにIronBarcodeを.NET MAUI Windowsアプリに統合する方法を説明します。
.NET MAUIでバーコードを読み取り&スキャンする方法
IronBarcode: C# バーコードライブラリ
アプリケーションでバーコードを読み取るために、IronBarcode .NETライブラリを使用します。 それは、バーコードを読み取るための強力でシンプルなAPIを提供し、面倒やバーコードに関する専門知識を必要とせずに開発を可能にします。 それはNuGetパッケージマネージャーで簡単にインストールできます。
IronBarcodeは、多くの他のフォーマットの中で、Code 39、Code 128、_PDF417_を含む多数のバーコードフォーマットの読み取りをサポートします。 画像ファイル、メモリーストリーム、PDFなど、さまざまなデータ形式から読み取ることができます。
.NET MAUIアプリでバーコードを読み取る手順
.NET MAUIアプリでバーコードを読み取るための手順は次のとおりです。
前提条件
-
Visual Studio 2022(ビジュアル スタジオ 2022)
- Visual Studio での .NET MAUI プロジェクト
IronBarcodeライブラリをインストール
NuGetのPackage Manager Console
を使用して、IronBarcodeライブラリをインストールできます。 Visual Studioでこのコンソールを開くには、ツール > NuGetパッケージマネージャー > パッケージマネージャーコンソール
に移動します。 次に、コンソールに以下のコマンドを書きます:
Install-Package BarCode
このコンソールコマンドは、MAUIプロジェクト内の最新バージョンのIronBarcodeライブラリをダウンロードします。 または、NuGetパッケージの最新バージョンを検索することもできます。NuGetウェブサイト.
フロントエンド
最初のステップは、フロントエンドデザインを作成することです。 これには、2つのボタン、1つのテキストエリア、1つの画像ボックスで構成されるレイアウトを作成します。 バーコードを選択するためのボタンが1つあり、もう1つのボタンがバーコードのテキストをコピーするために使用されます。 画像ボックスには選択された画像が表示されます。
次の内容に MainPage.xaml ファイルの内容を置き換えてください:
<?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>
すべての要素は中央に位置し、縦に積み重ねられています。 お好みに合わせて変更できます。
IronBarcode を使用したバーコードスキャン
このセクションでは、IronBarcodeライブラリを使用してバーコードをスキャンするためのコードについて説明します。 まず、FilePicker
を使用してファイルを選択し、画像のファイル形式を指定します。 その後、FullPath
プロパティを使用して画像ファイルのパスを取得し、次に画像ボックスのソースを FullPath
の値に設定します。 最後に、BarcodeReader
の Read
関数で path
値を使用してテキストを取得します。
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
以下のコードは、テキストエディタのテキストをコピーし、テキストがコピーされたことをユーザーに通知するアラートメッセージを表示します。
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
この記事では、プロジェクトのソースコードを見つけることができます。 GitHub(ギットハブ).
出力
プロジェクトを実行した後、次の出力が表示されます。 画像が表示されないのは、まだ選択されていないためです。
バーコードが選択されると、以下のスクリーンショットのように表示され、QRコードの出力テキストがエディタに表示されます。
コピー ボタンをクリックすると、前述の警告ウィンドウが表示されます。
結論
この記事では、IronBarcodeを使用して.NET MAUIアプリケーションでバーコードを読み取る方法を説明しました。 QRコードリーダーとして、IronBarcodeは非常に優れた性能を発揮し、期待通りの正確な結果を提供します。 さらに、読み取りが困難なバーコードを読み取ることができます。 また、異なるフォントを使用してバーコードを作成およびカスタマイズすることもできます。 IronBarcodeに関するチュートリアル投稿をもっと見るにはこちらをご覧くださいリンク.
IronBarcodeは開発および商業利用のためにライセンスを取得する必要があります。 ライセンスに関する詳細情報は、こちらで確認できます。これ.