Массовая генерация штрих-кодов Code 39

Массовая генерация Code 39 — это почти всегда инвентарная маркировка: тираж номеров для оборудования, помещений, дел или инструмента. Символика нетребовательна, потому в этой роли и держится, — но массовая генерация обнажает ровно те две вещи, которых она за вас не делает: не проверяет значение и не бережёт ширину.

По одному значению в строке. Одной строкой через запятую или точку с запятой — тоже годится. Строка с названием колонки (скажем, «Артикул») пойдёт в список обычным значением и будет отклонена: её лучше не вставлять.

Пока распознавать нечего.

Оформление
Размеры
Подпись
Положение подписи
Выключка подписи
Цвета

Введите значение — код появится здесь.

Спецификация

Набор символов
буквы и цифры
Длина
от 1 до 43 символов
Контрольная цифра
в этой символике не используется

Для каких задач этот код и стоит брать

  • Инвентарная маркировка там, где парк сканеров старый: Code 39 древнее почти всего, что стоит на площадке, и это та единственная символика, которую любой считыватель разбирает без настройки.
  • Тиражи, где бирки печатают однажды, а читают десять лет: символика нетребовательна к качеству печати, а это важно для наклеек, которым предстоит истереться и выгореть.
  • Короткие внутренние номера, а не длинные: цена ширины за знак у неё высока, поэтому она выигрывает на шести-восьми знаках и проигрывает на двадцати.

Как готовить список

  • Стройте тираж режимом последовательности со счётчиком постоянной ширины: тогда все бирки одной длины, а все коды — одной ширины.
  • Держите значения короткими: Code 39 тратит около шестнадцати модулей на знак, и двадцатизначный инвентарный номер даёт код, который не влезет на большинство бирок.
  • Пишите заглавными: в стандартном алфавите строчных букв нет, и список вперемешку либо не пройдёт проверку, либо будет приведён к верхнему регистру — смотря откуда он взялся.

Что ломается при массовой генерации

  • Расчёт на контрольный разряд. По умолчанию его у Code 39 нет, и ошибочно прочитанная цифра инвентарного номера неотличима от верной; если тираж важен, заложите проверочный знак в само значение.
  • Пробелы внутри инвентарных номеров: пробел — законный знак Code 39, он кодируется молча, и значение перестаёт совпадать со строкой в инвентаре.

Вопросы и ответы

Почему коды Code 39 такие широкие?
Потому что символика кодирует каждый знак девятью элементами, три из которых широкие. Это примерно вдвое шире Code 128 для того же значения — и именно поэтому тираж длинных инвентарных номеров редко помещается на мелкую бирку.
Можно ли смешивать в списке буквы и цифры?
Да, Code 39 принимает заглавные буквы, цифры и несколько знаков, и коды построятся. Держите одинаковую длину, если бирки печатаются по одному макету: ширина следует за числом знаков.