2015-07-11 4 views
2

Я использую zxing с изобретателем приложения 2. Если я кодирую 6-значное число в штрих-код ITF, сканер Android zxing работает нормально. Однако, если я создаю штрих-коды ITF с 2 или 4 цифрами, штрих-код короче и он не сканирует. Для моего приложения я предпочитаю, чтобы штрих-код был как можно короче. Пожалуйста, помогите Спасибо DavidITF barcode zxing scanner issue

ответ

0

ITF не имеет необходимой суммы, так что это проблематично, чтобы позволить ему сканировать для очень коротких кодов ITF. Это очень вероятно, что они будут восприниматься как фантомные чтения в изображениях без штрих-кода. Минимальная длина ITF, которая принимается, составляет 6 символов. Вы можете переопределить это, но если вы это сделаете, вам нужно использовать контрольную сумму и проверить ее в своем коде. Вероятно, это отличный выбор формата.

+0

спасибо за ответ, думаю, мне придется погрузиться в исходный код, с чем-то, с чем я не сталкиваюсь (я работаю с изобретателем приложения), но я постараюсь его обработать – davey

0

Как уже сказал Шон, формат ITF не имеет контрольной суммы, поэтому авторы ZXing решили поддерживать минимум 6 символов штрих-кодов, чтобы избежать высокой «ложной положительной» ставки, то есть ситуации, когда более короткие штрих-коды будут обнаружены внутри более длинных ,

Это ясно видно из ZXing source code. Минимальная допустимая длина составляет 6.

Авторы также советуют добавлять символы контрольной суммы в штрих-код ITF, чтобы получить больше уверенности в полученном результате.

Это лучшее решение для вашего случая: на стороне, где вы создаете штрих-код, добавьте еще 2 символа в качестве контрольных цифр, чтобы получить 6-значное значение. Лучшим подходом для генерации контрольных цифр было бы использование MOD-97-10 ISO 7064 standard, которое обычно используется для защиты IBAN numbers. Сканер ITF от ZXing может отлично справляться с 6-символьными штрих-кодами, и вы также можете проверить полученные контрольные цифры для получения дополнительной уверенности в результатах.

Если это не применимо в вашем случае, вы можете отредактировать исходный код ZXing, который был указан выше, добавить возможность сканирования штрих-кодов ITF длиной 2 и 4 и интегрировать эту пользовательскую сборку в ваше приложение.