Где я могу найти «эталонные штрих-коды» для проверки вывода библиотеки штрих-кодов? - PullRequest
13 голосов
/ 20 марта 2010

Этот вопрос не касается «лучшей» штрих-кода рекомендации библиотеки, мы используем различные продукты на разных платформах и нуждаемся в простом способе проверить, является ли данный штрих-код правильным (согласно его спецификации). 1003 *

Мы нашли случаи, когда штрих-код по-разному отображается различными библиотеками штрих-кодов и бесплатными онлайн-генераторами штрих-кода в Интернете. Например, новый выпуск библиотеки отчетов Delphi выводит нечисловые символы в Code128 как «0» или просто пропускает их в текстовой области. Перед тем, как выполнить миграцию, мы хотим проверить, вызваны ли эти изменения некорректной реализацией в новой библиотеке, чтобы мы могли сообщить об этом автору как об ошибке.

В основном нам нужны Code128 и UCC / EAN-128 с подкодами A / B / C.

Онлайн-ресурсы, которые я проверял на данный момент:

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

Ответы [ 2 ]

11 голосов
/ 20 марта 2010

Для Code128 нет единого правильного ответа. Если вы используете Code128-A, вы можете получить результат, отличный от Code128-C. Под результатом я имею в виду, как это выглядит. Возьмите "803150" в качестве примера. В Code128-A вам понадобится 6 символов (+ начало, контрольная сумма, стоп), чтобы представить это число. Code128-C состоит только из цифр, поэтому вы можете сжать две цифры в один символ. Следовательно, вам нужно всего 3 символа (+ начало, контрольная сумма, стоп), чтобы обозначить одно и то же число. Штрих-коды будут выглядеть по-разному (в данном случае A длиннее), но если вы отсканируете их оба, вы получите правильный номер.

Кроме того, Code128 не обязательно должен быть просто A, B или C. Вы можете фактически комбинировать различные подмножества. Это характерно для случаев, подобных «US123457890», где Code128-A или B используется для «US», а Code128-C используется для оставшихся цифр. Это иногда называют Code-128 Auto или просто Code-128. В результате получается «сжатый» штрих-код с точки зрения ширины. Вы можете представить те же данные с помощью A / B, но, опять же, это даст вам более длинный штрих-код.

Возьмите два онлайн-генератора:

Я рекомендую первый, где вы можете выбрать между Auto / A / B / C. Вот пример изображения, иллюстрирующего различия:

alt text

В IDAutomation Auto используется по умолчанию, в то время как A по умолчанию для Barcodes-Inc. Оба являются правильными, вам просто нужно быть осторожным, какое подмножество вы выбрали при сравнении результатов. Я также рекомендую сканер штрих-кода для использования в разработке, чтобы проверить вывод. Также см. на этой странице для сравнения различных подмножеств со значениями ASCII. Я также нахожу полезным grandzebu.net , у которого есть бесплатный шрифт Code128, который вы также можете использовать.

Похоже, ваша библиотека Delphi всегда использует Code128-C, поскольку в этом подмножестве можно представлять только числа.

0 голосов
/ 20 марта 2010

Почему бы просто не отсканировать их и посмотреть, что вернется?

...