Я хочу создать матрицу данных GS1 с использованием API bwip-js с переданным FNC1.

Я пробовал пример, представленный на их веб-сайте (Документация по API штрих-кода в Интернете) через Postman, и он возвращает правильное значение (т.е. без символа FNC1 в отсканированном результате).

Их пример запроса (правильно разбирает FNC1)

http://bwipjs-api.metafloor.com/?bcid=code128&text=%5EFNC1011234567890&parsefnc&alttext=%2801%291234567890

Однако, когда я использую свой пример для матрицы данных GS1 со значением FNC1, я получаю FNC1 в результате сканирования. Таким образом, он неправильно анализирует значение FNC1.

Мой запрос (неправильно разбирает FNC1):

http://bwipjs-api.metafloor.com/?bcid=gs1datamatrix&text=%5EFNC1(01)03453120000011(17)120508(10)ABCD1234(410)9501101020917&parsefnc&alttext=%2801%291234567890

Я прочитал всю документацию и статьи, которые смог найти об их генераторе и персонаже FNC1, но не дал мне никаких подсказок.

Я что-то здесь не так делаю?

< Сильный > UPDATE :

Вход в BWIP-JS:

(01)99312650999998(91)111JD507496002000960300(420)2164(8008)181102113732

Изображение создано:

enter image description here

1
Kavo 24 Окт 2018 в 06:40

2 ответа

Лучший ответ

Код в bwip-js Я не специалист в этом языке. Но попробуйте убрать FNC1 из своего запроса и посмотреть, работает ли это.

Я думаю, что он пытается автоматически добавить FNC1 к любой GS1 Datamatrix (см. Раздел, начинающийся со строки 23903), когда он видит AI, тогда как для Data Matrix он должен быть явно запрошен.

2
Terry Burton 2 Ноя 2018 в 12:23

Символ FNC1 невидим для консоли, поэтому его может быть сложно увидеть, но мне удалось разобрать его из необработанных строк, используя следующее:

var decoded = decodedString.split(decodeURI("%1D"));

Если вы получаете коды FNC в скобках, вы, вероятно, можете использовать REGEX для их удаления.

0
Brian Berneker 13 Май 2020 в 15:11
52960762