Разбор символа FNC1 с помощью bwip-js gs1datamatrix
Я хочу сгенерировать матрицу данных 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, но не дал мне никаких подсказок.
Я что-то здесь не так делаю?
ОБНОВИТЬ:
Вход в BWIP-JS:
(01)99312650999998(91)111JD507496002000960300(420)2164(8008)181102113732
Изображение создано:
1 ответ
Код в bwip-js - это PostScript, и я не специалист в этом языке. Но попробуйте убрать 'FNC1' из вашего запроса и посмотрите, работает ли он.
Я думаю, что он пытается автоматически добавить FNC1 к любой матрице данных GS1 (см. Раздел, начинающий строку 23903), когда он видит ИИ, тогда как для матрицы данных он должен быть явно запрошен.
Символ FNC1 невидим для консоли, поэтому его может быть сложно увидеть, но мне удалось разобрать его из необработанных строк, используя следующее:
var decoded = decodedString.split(decodeURI("%1D"));
Если вы получаете коды FNC в скобках, вы, вероятно, могли бы использовать REGEX для их удаления.