Как я могу сгенерировать (закодировать) штрих-код GS1-128 или EAN128?

#c# #barcode #code128

#c# #штрих-код #code128

Вопрос:

Я работал с библиотекой netbarcodewriter из https://github.com/simongh/barcodes и смогли успешно сгенерировать код 128 штрих-кодов. При попытке закодировать происходит сбой (95)00209(96)0004471(97)0065(98)1931 с EAN128 с использованием GS1Builder.

Ниже приведен пример в LINQPad:

 GS1Builder gs1= new GS1Builder();
// add the AIs
gs1.Add(95,"00209");
gs1.Add(96,"0004471");
gs1.Add(97,"0065");
gs1.Add(98,"1931");
gs1.ToDisplayString().Dump();
var ean128 = new EAN128();
bmp = ean128.Generate(gs1, new BarcodeSettings { BarHeight = 65 });
 

Я получаю исключение FormatException в EncodeCodeC при попытке int.Parse(value), где значение содержит FNC1. Я знаю, что это, вероятно, из-за моего непонимания EAN128, но я не вижу, чего мне не хватает.

РЕДАКТИРОВАТЬ Я также удалил символ FNC1 перед синтаксическим анализом, но в итоге получаю неверное изображение штрих-кода.

РЕДАКТИРОВАТЬ 2, когда я просто объединяю ИИ и значения ((95)00209(96)0004471(97)0065(98)1931 -> 9500209960004471970065981931), и закодируйте это как CODE128, сканеры вернут точно такое же значение, что и действительный EAN128 с теми же значениями. Означает ли это, что я могу изменить это, чтобы просто кодировать как Code128, но отображать удобный для чтения текст под изображением? Как я могу сгенерировать штрих-коды EAN128?

Кто-нибудь смог успешно сгенерировать штрих-коды EAN128 с помощью этой библиотеки?

Комментарии:

1. Вы прочитали спецификацию EAN128 и убедились, что ваше закодированное значение соответствует правилам? barcodeisland.com/uccean128.phtml

2. ДА. И снова после вашего комментария, но сравнение его со спецификацией от заказчика не оставляет много места для вариаций. Они выбрали эти идентификаторы приложений и указали значения / длину каждого ИИ для использования.

3. В итоге мы купили полную корпоративную лицензию Softmatic barcode library, и теперь мы можем генерировать все эти штрих-коды, которые нам нужны (и многое другое).

4. Вы должны сообщить об этой проблеме на GitHub github.com/simongh/Barcodes/issues/new