複数の長さ/タイプの I2of5 バーコードをスキャンできるようにする必要があるアプリケーションを開発しています。長いバーコードは 14 桁、短いバーコードは 4 桁または 10 桁です。
これを可能にするために、I2OF5 デコーダーのパラメーターを設定しました。
Barcode2 symbolBarcode2 = new Barcode2(Symbol.Barcode2.Devices.SupportedDevices[0]);
symbolBarcode2.Config.Decoders.I2OF5.MinLength = 4;
symbolBarcode2.Config.Decoders.I2OF5.MaxLength = 14;
長いバーコードの部分スキャンをデコードするスキャナに問題があります。最小値と最大値を 14 に設定すると、これは修正されますが、短いバーコードはスキャンできなくなります。
14 桁のバーコードは、USS チェック ディジットを使用します。I2of5 パラメータで USS チェック ディジット スキームを有効にすると、問題が解決します。これは、部分スキャンでは正しいチェック ディジットが得られることはほとんどないためです。ただし、10 桁と 4 桁のバーコードはチェック ディジットを使用しないため、スキャンされなくなります。
I2of5 パラメータのセットを複数持つ方法はありますか? 次に、USS をオンにして最小長と最大長を 14 に設定したものと、USS をオフにして最小長と最大長を 10 にした別のもの、同じく USS をオフにして最小長と最大長を 4 にしたものを作成できます。
私は、Intermec API がこれを可能にし、アクティブなパラメーターの複数のセットを持っていると信じていますが、Motorola EMDK でそれを行う方法を見つけることができませんでした。.Net EMDK 2.7 を使用しています。