前の投稿では、C#を使用してさまざまな種類のバーコードを生成して読み取る方法を説明しました。ただし、場合によっては、英語以外の文字を処理する必要があります。たとえば、アラビア語、ラテン語、ギリシャ語、または同様の言語で作業する場合です。このような場合、文字をUnicode標準(UTF-8)にエンコードする必要があります。これに従って、この記事では、C#でUTF-8エンコーディングを使用してバーコードを生成および読み取る方法について説明します。
- UTF-8エンコーディングを使用してバーコードを生成するC#API
- C#でUTF-8エンコーディングを使用してバーコードを生成する
- C#でUTF-8エンコーディングを使用してバーコードを読み取る
- 無料のAPIライセンスを取得する
UTF-8エンコーディングを使用してバーコードを生成するC#API
Aspose.BarCode for .NETは、バーコードの生成と認識のための強力なC#APIです。 APIを使用すると、さまざまなバーコードシンボルを操作できます。さらに、APIはUTF-8エンコーディングを使用したバーコードの生成をサポートしています。 APIをダウンロードするか、NuGetを使用してインストールできます。
PM> Install-Package Aspose.BarCode
C#でUTF-8エンコーディングを使用してバーコードを生成する
以下は、UTF-8エンコーディングを使用してバーコードを生成する手順です。
- まず、BarcodeGeneratorクラスのインスタンスを作成し、EncodeTypesを使用してバーコードタイプを指定します。
- BarcodeGenerator.CodeTextプロパティを使用してバーコードのテキストを設定します。
- BarcodeGenerator.Parameters.Barcode.QR.CodeTextEncodingプロパティを使用してUTF-8テキストエンコーディングを設定します(BarcodeGeneratorコンストラクターで指定したバーコードタイプに従ってQRを置き換えます)。
- BarcodeGenerator.GenerateBarCodeImage()メソッドを使用してバーコードを生成し、返された画像をBitmapオブジェクトに保存します。
- 最後に、Bitmap.Save(String)メソッドを使用して、バーコード画像をファイルとして保存します。
次のコードサンプルは、C#でUTF-8エンコーディングを使用してバーコードを生成する方法を示しています。
// バーコードジェネレータを作成する
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Pdf417);
// バーコードテキストを設定する
generator.CodeText = "منحة";
// 解像度を設定する
generator.Parameters.Resolution = 400;
// エンコードタイプを設定する
generator.Parameters.Barcode.Pdf417.CodeTextEncoding = Encoding.UTF8;
// バーコードを生成する
Bitmap imgBarcode = generator.GenerateBarCodeImage();
// バーコード画像を保存
imgBarcode.Save("generate-barcode.png");
C#を使用してUTF-8エンコードバーコードを読み取る
以下は、C#を使用してUTF-8でエンコードされたバーコードを認識する手順です。
- BarCodeReaderクラスを使用して、バーコード画像をロードします。
- BarCodeReader.ReadBarCodes()メソッドによって返される各BarCodeResultをループします。
- Encodingクラスのオブジェクトを作成し、エンコーディングをUTF-8に設定します。
- BarCodeResultオブジェクトによって返されたバイトからchar配列を取得します。
- 文字からUnicode文字列を作成して、バーコードテキストを取得します。
- 最後に、取得したバーコードテキストを印刷します。
次のコードサンプルは、C#でUTF-8エンコーディングを使用してバーコードを認識する方法を示しています。
// 上記のバーコードを認識します
using (BarCodeReader reader = new BarCodeReader("generate-barcode.png"))
{
// バーコードを読む
foreach (BarCodeResult result in reader.ReadBarCodes())
{
// エンコーディングを設定する
Encoding unicode = Encoding.UTF8;
// バイトから文字配列を取得します
char[] unicodeChars = new char[unicode.GetCharCount(result.CodeBytes, 0, result.CodeBytes.Length)];
unicode.GetChars(result.CodeBytes, 0, result.CodeBytes.Length, unicodeChars, 0);
// Unicode文字列を作成する
string strCodeText = new string(unicodeChars);
Console.WriteLine(strCodeText);
}
}
無料のAPIライセンスを取得する
APIを試して使用することに興味がある場合は、無料の一時ライセンスを取得できます。
結論
この記事では、C#でUTF-8エンコーディングを使用してバーコードを生成する方法を学習しました。さらに、UTF-8でエンコードされたバーコードを認識して読み取る方法を見てきました。 ドキュメントを使用して、C#バーコードAPIの詳細を調べることができます。