Free Support Forum - aspose.com

Aspose.Barcode の QRコード読み取り

OS の種類: Windows
OS バージョン: 10 x64
開発環境: 開発環境:VisualStudio 2013
使用言語:VB.NET
Aspose.BarcodeVer : 19.9

Aspose.Barcodeを使用しQRコードを読み込んだ際、
正常に読み取りが出来ない物があります。

正しく読み取れる様にするには、どのように記述すれば良いでしょうか。

QRコード内の文字列
3!テスト漢字!ABCdef!あいうえお

Reader.GetCodeText()の戻り値
3!ƒeƒXƒgŠ¿Žš!ABCdef!芠芢芤芦芨

以下、検証時のコード
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    ' ライセンスファイルの読み込みを行う
    Dim licenseBarcode As Aspose.BarCode.License = New Aspose.BarCode.License()
    licenseBarcode.SetLicense("Aspose.BarCode.lic")

    ' 抽出対象のファイルを読み込み
    Dim sagyo_path As String = "C:\TEST\sample\sampleQR.jpg"
    Using bitmap As New Bitmap(sagyo_path)

        '設定
        Dim Reader As New BarCodeReader(bitmap, DecodeType.QR)
        Reader.QualitySettings = QualitySettings.HighQuality

        '読み取り
        Reader.Read()

        Dim str As String
        str = Reader.GetCodeText()

        MsgBox(str)

    End Using

End Sub

sampleQR.jpg (10.7 KB)

@KNishida,

バーコードは元々不正なエンコードで生成されたようです。 このC#コード例は完全に機能します。

using (var gen = new BarcodeGenerator(EncodeTypes.QR, "3! Test Kanji! ABCdef! Aiueo"))
{
	gen.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;
	gen.Parameters.Barcode.QR.CodeTextEncoding = Encoding.Unicode;
	var barcode = gen.GenerateBarCodeImage();
	using (var r = new BarCodeReader(barcode, DecodeType.QR))
	{
		r.QualitySettings = QualitySettings.HighPerformance;
		var res = r.ReadBarCodes();
	}
} 

バーコードの生成時にエンコードを明示的に設定してみてください。 助けにならない場合は、バーコードの生成方法のコードを提供してください