我正在开发一个需要能够扫描多种长度/类型的 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;
我在使用扫描仪解码较长条形码的部分扫描时遇到问题。将 Min 和 Max 设置为 14 可以解决此问题,但不再允许扫描较短的条形码。
14 位条形码使用 USS 校验位。如果我在 I2of5 参数中打开 USS 校验位方案,它可以解决问题,因为部分扫描几乎永远不会有正确的校验位。但 10 位和 4 位条码不使用校验位,因此不再扫描。
有没有办法拥有一组以上的 I2of5 参数?然后我可以创建一个最小和最大长度为 14 且 USS 开启,另一个最小和最大长度为 10 且 USS 关闭,第三个最小和最大长度为 4,USS 也关闭。
我相信 Intermec API 允许这样做,具有多组活动参数,但在摩托罗拉 EMDK 中找不到方法。我正在使用 .Net EMDK 2.7。