Как читать спецсимвол с помощью emdk

Я использую Motorola EMDK SDK для.net, чтобы прочитать штрих-код, все в порядке, кроме ( символ и ) символ.

http://goo.gl/7JkuYX

http://goo.gl/1w0vRi

пожалуйста, смотрите мой код ниже:

MyReader = new Symbol.Barcode.Reader();
MyReader.Actions.Enable();
MyReader.Decoders.DisableAll();
MyReader.Decoders.CODE128.Enabled = true;
MyReader.Decoders.CODE128.MinimumLength = 2;
MyReader.Decoders.CODE128.MaximumLength = 55;
MyReader.Decoders.CODE128.EAN128 = true;
MyReader.Decoders.CODE128.ISBT128 = true;
MyReader.Decoders.CODE128.Other128 = true;

MyReader.Decoders.SetEnabled(Symbol.Barcode.DecoderTypes.CODE128, true);
MyReaderData = new Symbol.Barcode.ReaderData(Symbol.Barcode.ReaderDataTypes.Binary, Symbol.Barcode.ReaderDataLengths.MaximumLabel);
MyEventHandler = new EventHandler(MyReader_ReadNotify);
MyReader.Actions.Enable();

1 ответ

Как сказал Чарльзбридж, отображаемая информация не полностью соответствует данным, закодированным в штрих-коде GS1.

Данные в скобках называются идентификатором приложения (AI). Каждый ИИ сопровождается своими данными. Например, (11)131011 означает, что изделие было произведено 11 октября 2013 года.

Если вы хотите воссоздать отображаемую строку, ваше приложение должно знать максимальную длину каждого AI. Если данные для AI короче, чем его максимальная длина, они будут заканчиваться символом 0x1d (который присутствует в декодированных данных, но не будет отображаться на экране).

В вашем примере только серийный номер (21) имеет переменную длину, но, поскольку это последний ИИ в штрих-коде, символ завершения не нужен.

Посмотрите спецификацию GS1, если вы любите читать, или этот список идентификаторов приложений для быстрого ознакомления.

Что касается определения того, является ли штрих-код штрих-кодом GS1, ReaderData объект содержит Type свойство, которое, по крайней мере на моем устройстве, будет одним из RSS... ценности.

Другие вопросы по тегам