Главная / QR-коды и штрихкоды / Генератор штрихкода Code 39
Штрихкоды

Code 39 с заданным содержимым

Создайте штрихкод Code 39 из нужных данных.

Штрихкод
Code 39

Генерация штрихкода Code 39 с возможностью предпросмотра.

Данные
Code 39
Скачать

Создание штрихкода Code 39

Введите данные и получите штрихкод Code 39 в виде изображения.

Результат
—
Введите данные и нажмите «Сгенерировать».

Онлайн-инструмент позволяет сгенерировать линейный одномерный штрихкод формата Code 39 с заданным содержимым на основе произвольных пользовательских данных. Генератор принимает текстово-цифровую строку и преобразует ее в графическое изображение 1D-кода, готовое к печати и оптическому считыванию. В отличие от розничных товарных кодов со строгим числовым форматом, данная символика поддерживает кодирование латинских букв, цифр и ряда специальных знаков. Это делает ее удобным решением для создания внутренних артикулов, складских этикеток, инвентарных номеров и промышленной маркировки.

В технической документации и спецификациях оборудования этот стандарт встречается под несколькими альтернативными и историческими названиями: Code 3 of 9 (Код 3 из 9 или Код 3/9), Alpha39, Тип 39, USS Code 39 и USD-3. Все эти обозначения относятся к одной и той же графической системе кодирования.

Принцип работы инструмента основан на посимвольном переводе введенной строки в последовательность черных штрихов и белых пробелов разной ширины. Символика является дискретной: каждый знак кодируется независимо и отделяется от соседнего межсимвольным зазором. Стандарт не ограничивает количество знаков жесткими рамками, поэтому итоговый штрихкод имеет переменную длину. Физический размер полученного изображения напрямую зависит от объема введенных данных и возможностей считывающего сканера.

Генератор штрихкода Code 39

Структура символики Code 39 и принцип кодирования элементов

Техническая архитектура стандарта напрямую отражена в его классическом названии Code 3 of 9. Каждый отдельный знак в этой системе формируется из девяти графических элементов: пяти темных штрихов и четырех светлых пробелов, которые строго чередуются между собой. Любой закодированный символ всегда начинается и заканчивается темным штрихом. Из девяти элементов каждого знака ровно три являются широкими, а остальные шесть - узкими. Именно это постоянное соотношение (три широких элемента из девяти возможных) дало имя всей символике и обеспечивает базовую геометрическую проверку при оптическом распознавании.

В отличие от многих других линейных форматов, где информация заложена только в темных линиях, здесь рабочими элементами выступают и штрихи, и пробелы. В двоичном представлении узкий элемент (штрих или пробел) интерпретируется как логический ноль, а широкий - как логическая единица. Комбинация расположения трех широких элементов среди девяти позиций однозначно определяет конкретный символ текста.

Дискретность и межсимвольные зазоры

В основе построения графического кода лежит дискретный принцип. Это означает, что знаки внутри одной строки не сливаются в непрерывную последовательность и декодируются независимо друг от друга. Для физического разделения соседних символов используется межсимвольный зазор - светлый промежуток, который не несет информационной нагрузки. Он всегда начинается после пятого (последнего) темного штриха предыдущего знака и заканчивается перед первым темным штрихом следующего.

В стандартном исполнении ширина этого разделительного промежутка равна ширине одного узкого пробела. Хотя спецификация допускает некоторое увеличение межсимвольного зазора без потери читаемости, его чрезмерное растяжение может привести к тому, что сканер воспримет разрыв как окончание всего штрихкода.

Геометрические параметры: X-dimension и пропорции элементов

Физические габариты и плотность записи кода определяются двумя базовыми метриками: модулем ширины и коэффициентом пропорциональности. От этих величин зависит, сколько места займет маркировка на носителе и с какого расстояния ее сможет прочитать сканер.

Ключевые пространственные характеристики символики включают следующие параметры:

  • Ширина узкого элемента (X-dimension) - базовая единица измерения штрихкода, определяющая толщину самого тонкого штриха или пробела. Чем меньше значение X-dimension, тем выше плотность записи и компактнее итоговое изображение, но тем выше требования к четкости нанесения.
  • Отношение широких элементов к узким (пропорция N) - коэффициент, показывающий, во сколько раз широкий штрих или пробел толще узкого. Стандарт предписывает выдерживать это соотношение в диапазоне от 2:1 до 3:1.
  • Межсимвольный интервал (I) - светлый зазор между знаками, номинально приравниваемый к величине X-dimension.
  • Свободные боковые зоны (Quiet Zone) - чистые немаркированные участки слева и справа от графической части кода, необходимые для калибровки считывающего луча.

Выбор пропорции между широкими и узкими элементами влияет на баланс между компактностью этикетки и надежностью декодирования. При соотношении 2:1 код получается более коротким, однако снижается допуск на погрешности нанесения. Пропорция 3:1 увеличивает общую длину полосы, но обеспечивает максимальную контрастность переходов между узкими и широкими линиями, что минимизирует ошибки чтения на загрязненных или неровных поверхностях. При малых значениях X-dimension обычно выбирают пропорцию не менее 2.5:1 для сохранения четкого визуального различия элементов.

Геометрическая структура и расчетная ширина одного символа в зависимости от выбранной пропорции представлены в таблице:

Структурный компонент Количество в одном символе Ширина при пропорции 2:1 (в модулях X) Ширина при пропорции 3:1 (в модулях X)
Узкие элементы (штрихи и пробелы) 6 6 6
Широкие элементы (штрихи и пробелы) 3 6 9
Межсимвольный зазор 1 1 1
Итоговая длина одного знака с зазором 10 элементов 13 модулей X 16 модулей X

Назначение свободных боковых зон (Quiet Zone)

Для корректного оптического распознавания по левому и правому краям штрихкода обязательно оставляют свободные светлые поля - Quiet Zone. Эти пустые области дают сканирующему устройству понять, где заканчивается внешний фон упаковки или документа и начинается сама область кодирования. Если разместить текст, рамку таблицы или графический элемент вплотную к первому или последнему штриху, оптический датчик зафиксирует посторонний темный объект как часть кода, что сделает расшифровку невозможной.

По техническому регламенту минимальная ширина каждой свободной зоны (до начала первого штриха и после окончания последнего) должна составлять не менее десятикратной ширины узкого модуля (10 X-dimension), но не менее 2.5 миллиметров в физическом выражении. Соблюдение этих отступов на макете так же важно, как и правильное чередование самих штрихов внутри последовательности.

Допустимый набор символов и правила подготовки содержимого

При подготовке строки для кодирования необходимо учитывать строгие ограничения базовой спецификации Code 39 Standard. В отличие от чисто цифровых форматов, эта символика изначально проектировалась для работы со смешанными буквенно-цифровыми идентификаторами, однако ее собственный алфавит ограничен строго определенным перечнем знаков.

Базовый алфавит Code 39 Standard

Стандартная таблица кодирования включает ровно 43 символа для записи полезной нагрузки. Каждому из них соответствует уникальная комбинация штрихов и пробелов. В состав базового набора входят следующие группы знаков:

  • Заглавные буквы латинского алфавита от A до Z (26 символов).
  • Арабские цифры от 0 до 9 (10 символов).
  • Семь специальных знаков: дефис (-), точка (.), знак доллара ($), косая черта (/), знак плюс (+), символ процента (%) и одиночный пробел.

Наличие пробела в качестве полноценного кодируемого знака - важная особенность стандарта. Пробел имеет собственный графический шаблон и занимает в структуре кода столько же места, сколько любая буква или цифра. При подготовке данных важно следить за отсутствием случайных отступов в начале или в конце копируемой строки, иначе они будут зашифрованы как часть сообщения и изменят итоговое значение при считывании.

Кириллица, буквы национальных алфавитов с диакритическими знаками, а также прочие знаки препинания (например, запятая, двоеточие, точка с запятой, кавычки или знак подчеркивания) в базовую спецификацию не входят. Если во внутренней системе учета используются артикулы с нижним подчеркиванием, при переходе на маркировку по стандарту Code 39 их обычно заменяют на дефис или точку.

Роль служебного разделителя кадра

В архитектуре символики существует 44-й уникальный графический шаблон, закрепленный за символом звездочки. Этот знак выполняет исключительно служебную функцию и выступает в качестве стартового и стопового разделителя кадра (Start/Stop character).

Стартовый и стоповый символы обрамляют полезную нагрузку с двух сторон, указывая считывающему устройству точные границы информационного блока. За счет асимметричного расположения широких и узких элементов внутри этого знака оптический датчик безошибочно определяет направление сканирования. Это позволяет считывать этикетку как слева направо, так и справа налево (вверх ногами) без искажения последовательности текста.

Поскольку звездочка жестко зарезервирована под обозначение начала и конца кадра, ее нельзя использовать внутри самой кодируемой строки в рамках базового стандарта. Если попытаться разместить такой знак в середине артикула, сканер воспримет его как команду завершения чтения и обрубит передачу оставшейся части кода. Формирование обрамляющих знаков обычно происходит на этапе построения графического макета, поэтому при подготовке исходного текста вводить их вручную не требуется, если иное не продиктовано использованием специализированных штриховых шрифтов.

Расширенный режим Code 39 Extended (Full ASCII)

Когда прикладная задача требует зашифровать строчные латинские буквы, дополнительные знаки препинания или управляющие коды, применяется надстройка над базовым стандартом - Code 39 Extended, также известная как Code 39 Full ASCII. Она расширяет доступный диапазон до полного набора из 128 символов таблицы ASCII.

Физическая структура штрихкода при этом не меняется, и новые графические шаблоны штрихов не вводятся. Расширение реализуется логическим путем: один символ из таблицы ASCII, отсутствующий в базовом наборе, кодируется парной комбинацией из двух стандартных знаков. Первым элементом такой пары всегда выступает один из четырех управляющих спецсимволов (знак доллара $, косая черта /, плюс + или процент %), а вторым - заглавная латинская буква от A до Z.

В таблице ниже показано, как распределяются функции между управляющими знаками при формировании составных пар в режиме Full ASCII:

Управляющий префикс Диапазон парных комбинаций Категория кодируемых символов ASCII Примеры кодирования
Знак плюс (+) От +A до +Z Строчные латинские буквы (a-z) Строчная буква «a» записывается как +A, «b» как +B, «z» как +Z
Косая черта (/) От /A до /Z Знаки препинания, математические операторы и цифра 0 Двоеточие (:) кодируется как /Z, запятая (,) как /L, скобка «(» как /H
Процент (%) От %A до %Z Специальные типографские знаки и управляющие коды Точка с запятой (;) передается парой %F, знак вопроса (?) парой %_ или через таблицу смещений
Знак доллара ($) От $A до $Z Непечатаемые управляющие символы (ASCII 01-26) Возврат каретки (CR) кодируется как $M, горизонтальная табуляция (HT) как $I

При использовании режима Full ASCII необходимо учитывать два практических следствия:

  • Увеличение физической длины штрихкода. Поскольку каждый символ нижнего регистра или нестандартный знак препинания превращается в два полноценных знака базового алфавита, графическая ширина этикетки заметно возрастает. Например, слово «Box» в стандартном верхнем регистре («BOX») займет в коде 3 знака данных, а с учетом регистра в расширенном режиме («B+O+X») потребует отрисовки уже 5 знаков данных.
  • Необходимость поддержки режима на стороне приемника. Поскольку с точки зрения графики пара «+A» ничем не отличается от обычного плюса и заглавной буквы «A», сканер штрихкода должен быть предварительно переведен в режим декодирования Code 39 Full ASCII. Если эта настройка в считывателе отключена, устройство прочитает и передаст в учетную систему буквально строку «B+O+X» вместо «Box».

Контроль целостности данных и расчет контрольного символа Modulo 43

Базовая архитектура стандарта Code 39 изначально проектировалась как самопроверяемая (self-checking). Это означает, что единичный дефект печати или локальное загрязнение поверхности - когда один узкий элемент ошибочно воспринимается оптическим датчиком как широкий или наоборот - не приведет к подмене одного валидного знака другим. Нарушение строгой пропорции элементов внутри символьного блока делает комбинацию штрихов и пробелов недействительной, вследствие чего декодер просто отбраковывает чтение и требует повторного наведения. По этой причине в стандартной спецификации обязательный контрольный разряд отсутствует.

Однако при наличии множественных дефектов этикетки, смазывании тонера в одном месте и непропечатке в другом либо при сканировании под острым углом существует минимальная вероятность взаимной компенсации искажений, когда две ошибки внутри одного блока складываются в структуру другого существующего знака. Для учетных операций с повышенными требованиями к достоверности передаваемых сведений применяется расширенная спецификация Code 39 Mod 43, предусматривающая принудительное добавление контрольного знака в конец информационной строки.

Таблица числовых весов для алгоритма Modulo-43 Checksum

Математическая проверка по модулю 43 (Modulo-43 Checksum) опирается на индексацию базового алфавита символики. Каждому из 43 знаков данных присваивается фиксированный числовой вес в диапазоне от 0 до 42. Служебный ограничитель кадра (звездочка) в математическую выборку не входит и собственного числового эквивалента для вычислений не имеет.

Ниже приведена полная матрица соответствия символов и их весовых коэффициентов, используемая при расчете контрольной суммы:

Символ Числовой вес Символ Числовой вес Символ Числовой вес Символ Числовой вес
0 0 B 11 M 22 X 33
1 1 C 12 N 23 Y 34
2 2 D 13 O 24 Z 35
3 3 E 14 P 25 - (дефис) 36
4 4 F 15 Q 26 . (точка) 37
5 5 G 16 R 27 Пробел 38
6 6 H 17 S 28 $ 39
7 7 I 18 T 29 / 40
8 8 J 19 U 30 + 41
9 9 K 20 V 31 % 42
A 10 L 21 W 32 Звездочка Не участвует

Порядок вычисления и пошаговый пример расчета

Определение проверочного символа выполняется по линейному алгоритму из четырех последовательных математических операций:

  • Замена каждого знака исходного текстово-цифрового сообщения его числовым весом согласно эталонной таблице.
  • Арифметическое суммирование всех полученных весовых значений.
  • Целочисленное деление итоговой суммы на константу 43 с выделением остатка от деления.
  • Обратная конвертация найденного числового остатка в соответствующий ему символ из той же весовой таблицы и размещение этого знака в самом конце полезной нагрузки - непосредственно перед завершающим стоповым разделителем.

Для наглядной демонстрации процедуры разберем формирование защищенного кода для буквенно-цифрового идентификатора CODE-39 . На первом этапе каждому знаку строки сопоставляется его табличный индекс:

  • C = 12
  • O = 24
  • D = 13
  • E = 14
  • - = 36
  • 3 = 3
  • 9 = 9

На втором этапе вычисляется общая сумма весов всех задействованных позиций:

12 + 24 + 13 + 14 + 36 + 3 + 9 = 111

Далее полученное число 111 делится на модуль 43. При делении 111 на 43 целая часть частного равна 2 (поскольку 43 × 2 = 86), а искомый остаток от деления составляет:

111 - 86 = 25

На заключительном шаге по справочной таблице определяется знак, которому соответствует вес 25 - это заглавная латинская буква P . Она присоединяется вплотную к исходным данным справа. В результате в графическую последовательность штрихкода, обрамленную стартовым и стоповым знаками звездочки, фактически записывается строка CODE-39P . Если бы при делении суммы на 43 число разделилось без остатка (остаток равен 0), то в качестве контрольного знака в конец строки была бы добавлена цифра 0 .

Особенности обработки контрольного разряда при считывании

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

  • Проверка отключена. Считыватель воспринимает контрольный знак как рядовой элемент текста и передает в информационную систему удлиненную строку (в рассмотренном примере - CODE-39P вместо CODE-39 ), что может вызвать ошибку сопоставления номенклатуры в базе данных.
  • Проверка включена с передачей контрольного знака. Устройство пересчитывает сумму весов первых знаков по модулю 43, сверяет результат с последним символом перед стоповым разделителем и при совпадении отправляет в учетную программу всю строку целиком, включая проверочный символ.
  • Проверка включена с отсечением контрольного знака. Декодер выполняет математическую валидацию целостности кадра в собственной памяти, подтверждает корректность чтения, но отбрасывает проверочный символ P при формировании выходного пакета, передавая в систему чистые исходные данные CODE-39 .

Если же вcode 39 используется режим расширения Full ASCII одновременно с контролем по модулю 43, то в математическом суммировании участвуют веса каждого физически закодированного базового знака из составных пар. Например, строчная буква a , представленная комбинацией +A , добавит к общей сумме вес знака плюс (41) и вес заглавной буквы A (10), то есть суммарно 51 единицу.

Применение штрихкодов Code 39 в промышленности, логистике и отраслевых стандартах

Способность символики объединять латинские буквы, цифры и разделительные знаки в строках произвольной длины сделала Code 39 базовым инструментом для нерозничной идентификации. В отличие от закрытых товарных номенклатур, требующих централизованного выделения диапазонов номеров, этот формат позволяет предприятиям самостоятельно разрабатывать структуру идентификаторов под собственные бизнес-процессы. Наличие буквенных префиксов, дефисов и точек в теле кода дает возможность переносить в машиночитаемый вид уже существующие на предприятии артикулы, шифры чертежей, номера складских ячеек или табельные номера сотрудников без перестройки корпоративных баз данных.

Складской учет, инвентаризация и внутренняя логистика

Внутрипроизводственная логистика и складское хозяйство опираются на генерацию штрихкодов с заданным содержимым для сквозной прослеживаемости материальных потоков. Когда объект учета перемещается исключительно внутри контура одной компании или между связанными производственными площадками, использование гибких буквенно-цифровых комбинаций упрощает визуальную и автоматизированную сортировку.

Сгенерированные штрихкоды Code 39 применяются для решения следующих операционных задач:

  • Адресное хранение и топология склада. Маркировка стеллажей, ярусов, паллетных мест и границ зон приемки или отгрузки (например, код ZONA-A-04-12 однозначно указывает на зону, ряд, стеллаж и полку).
  • Маркировка оборотной и транспортной тары. Нанесение уникальных идентификаторов на пластиковые контейнеры, паллеты, паллетоместа, металлические паллетные рамы и внутренние заводские тележки для контроля их возврата и перемещения между цехами.
  • Инвентаризация основных средств и имущества. Присвоение инвентарных номеров офисному оборудованию, станкам, измерительным приборам, оргтехнике и специнструменту (например, INV-2024.00891 ), что ускоряет плановые ревизии и учет выдачи инструмента.
  • Отслеживание деталей, узлов и производственных партий. Сопровождение полуфабрикатов маршрутными листами со штрихкодами на конвейерных линиях, фиксация номеров плавок, смен, партий сырья и индивидуальных серийных номеров готовых изделий.
  • Документооборот и архивное дело. Идентификация накладных, сборочных нарядов, историй болезни, лабораторных проб и архивных папок для быстрого поиска документа в электронной картотеке.

В подобных сценариях длина и структура кода зависят только от внутренней учетной политики организации. Если инженеру или кладовщику необходимо зашифровать комбинированный артикул, содержащий код цеха, год выпуска и порядковый номер детали, символика формирует линейный код ровно под количество введенных знаков без необходимости дополнять строку незначащими нулями.

Отраслевые и государственные стандарты на базе Code 39

Надежность алгоритма декодирования и поддержка буквенно-цифрового набора привели к тому, что Code 39 был утвержден в качестве базовой платформы для ряда международных и национальных спецификаций. В этих регламентах поверх стандартной архитектуры штрихкода вводятся строгие правила формирования полезной нагрузки - фиксируются префиксы данных, назначение полей и необходимость использования контрольного знака.

Ключевые стандарты, регламентирующие применение символики в различных секторах экономики, представлены в таблице:

Название стандарта Сфера применения Особенности структуры данных и кодирования
LOGMARS и MIL-STD-129 Оборонная промышленность и военная логистика США Определяет правила маркировки грузов, контейнеров и имущества при поставках для государственных и оборонных ведомств. Регламентирует кодирование национальных номенклатурных номеров, номеров контрактов и серийных идентификаторов, а также допускает применение проверочного символа по модулю 43.
AIAG Автомобильная промышленность (Северная Америка и глобальные цепочки поставок) Устанавливает единый формат транспортных этикеток для производителей автокомпонентов и сборочных заводов. Внутри штрихкодов используются специальные буквенные идентификаторы данных (например, префикс P для номера детали, Q для количества в упаковке, S для серийного номера контейнера), что исключает путаницу при поочередном сканировании нескольких кодов с одного ярлыка.
VDA-4902 Автомобильная промышленность Германии и Европы Стандартизирует сопроводительные транспортные ярлыки для поставок комплектующих на конвейеры автопроизводителей. Опирается на символику Code 39 для записи номеров накладных, кодов поставщиков, заводских индексов разгрузки, веса брутто/нетто и идентификаторов грузовых мест.
HIBC Здравоохранение, фармацевтика и производство медицинских изделий Применяется для маркировки хирургических инструментов, имплантатов, расходных материалов и лабораторных реагентов. Структура кода по этой спецификации обязательно начинается с управляющего символа плюс ( + ), за которым следуют идентификатор производителя, артикул изделия, единица измерения, дата истечения срока годности или номер партии, а завершается строка обязательным контрольным символом Modulo 43.

При генерации штрихкодов для поставок внешним контрагентам, работающим по стандартам AIAG, VDA-4902, HIBC или MIL-STD-129, пользователь должен формировать входную строку строго в соответствии с требованиями принимающей стороны. Любое отклонение в служебных префиксах или отсутствие обязательного для конкретного регламента проверочного знака приведет к тому, что автоматизированная система приемки заказчика отклонит груз, даже если сам штрихкод оптически считывается без ошибок.

Требования к печати этикеток и оборудованию для считывания

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

Совместимость со сканирующим оборудованием

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

  • Оптические лазерные сканеры. Формируют тонкий луч лазера, который разворачивается в линию с помощью качающегося зеркала или вращающейся призмы. Фотодиод фиксирует интенсивность отраженного от этикетки света: темные штрихи поглощают излучение, а светлые пробелы отражают его обратно. Лазерные модели позволяют считывать коды со значительного расстояния, но требуют, чтобы сканирующая линия пересекла все элементы кода от стартового до стопового знака одновременно.
  • Светодиодные считыватели на базе матриц CCD. Освещают штрихкод массивом встроенных светодиодов и проецируют отраженную картинку на линейку фоточувствительных элементов. Такие устройства не имеют движущихся механических узлов, отличаются высокой устойчивостью к падениям и вибрациям, однако имеют меньшую глубину резкости и работают на небольшом удалении от этикетки.
  • Двумерные фотосканеры (2D-имиджеры). Работают по принципу цифровой камеры, делая снимок всей области маркировки и распознавая штрихкод с помощью алгоритмов компьютерного зрения. Имиджеры считывают Code 39 под любым углом наклона и поворота без необходимости выравнивать прицельную линию перпендикулярно штрихам, а также уверенно декодируют частично поврежденные, потертые или низкоконтрастные этикетки.
  • Терминалы сбора данных (ТСД). Мобильные компьютеры промышленного класса со встроенным лазерным модулем или 2D-имиджером. Применяются для выездной инвентаризации, комплектации заказов и приемки грузов, позволяя не только декодировать оптический сигнал, но и сразу сверять полученную строку с базой учетной системы предприятия.

Разрешение печати и геометрия элементов

При выводе штрихкода на бумагу или синтетическую пленку используются офисные лазерные и струйные устройства, а также специализированные этикеточные принтеры прямой термопечати и термотрансферного переноса. Главным техническим условием получения качественного отпечатка является согласование ширины узкого элемента кода с физическим разрешением печатающего механизма, измеряемым в точках на дюйм (DPI).

Печатающая головка термопринтера или термотрансферного аппарата состоит из линейки дискретных нагревательных элементов (точек). Чтобы соотношение широких и узких линий оставалось постоянным по всей длине кода, ширина самого узкого штриха и пробела должна быть строго кратна целому числу точек термоголовки. Например, если на устройстве с разрешением 203 DPI задать ширину узкого модуля равной 2,5 точки, драйвер принтера будет вынужден округлять значения: часть узких штрихов отпечатается шириной в 2 точки, а часть - в 3 точки. Такое искажение нарушает пропорции между узкими и широкими элементами, что приводит к сбоям при декодировании или полному отказу сканера распознавать маркировку.

В таблице представлены технологические особенности различных способов печати и их влияние на физическое качество штрихкодов:

Технология печати Принцип формирования изображения Эксплуатационные свойства и контроль параметров
Прямая термопечать Точечный нагрев термочувствительного слоя бумаги напрямую элементами печатающей головки. Подходит для быстрой маркировки с коротким сроком жизни. Этикетки чувствительны к трению, прямому солнечному свету и перепадам температур: со временем фон темнеет, а штрихи выцветают. Требуется точная настройка температуры нагрева, чтобы избежать неконтролируемого расползания краев штрихов.
Термотрансферная печать Перенос красящего слоя со специальной ленты (риббона) на бумажную или полимерную этикетку под воздействием нагрева. Обеспечивает четкие границы линий, высокую оптическую плотность черного цвета и долговечность маркировки. Изображение устойчиво к влаге, химическим растворителям, истиранию и ультрафиолету, что критично для промышленной логистики и уличного хранения.
Офисная лазерная и струйная печать Закрепление сухого тонера на бумаге при помощи нагрева или распыление жидких чернил через дюзы печатающей головки. Высокое разрешение (от 600 DPI и выше) снижает риск ошибок округления ширины модулей при печати на форматных листах. В струйных устройствах на рыхлой немелованной бумаге возможно капиллярное растекание чернил, которое сужает светлые пробелы между штрихами.

Оптическая контрастность, высота штрихов и текстовая подпись

Надежность работы оптических сенсоров напрямую зависит от разницы в коэффициентах отражения света между темными и светлыми участками кода. Эталонным сочетанием является нанесение глубоких черных матовых штрихов на чистый белый фон. Допускается печать темно-синими или темно-зелеными красителями на белом, желтом или оранжевом основании, так как эти цвета хорошо контрастируют в спектре красного свечения (около 630-670 нм), используемого большинством лазерных и светодиодных сканеров. Категорически не допускается печать самих штрихов красным, оранжевым или желтым цветом: в красном луче сканера такие линии сливаются со светлым фоном и становятся оптически невидимыми для фотоприемника. Также следует избегать глянцевых металлизированных поверхностей и плотной ламинации, создающих зеркальные блики.

Физическая высота штрихов должна обеспечивать легкий захват кода лучом ручного или стационарного сканера. Поскольку кодируемые знаки в Code 39 часто выстраиваются в длинные цепочки, чрезмерно низкий штрихкод (узкая полоска) заставляет оператора тщательно прицеливаться: малейший перекос луча по вертикали приведет к тому, что сканирующая линия выйдет за пределы верхнего или нижнего края кода до того, как пересечет все символы. Увеличение высоты штрихов расширяет допустимый угол наклона сканера и ускоряет потоковую обработку грузов на конвейере.

Под графическим полотном штрихкода принято размещать текстовую расшифровку закодированной строки - HRI. Эта подпись дублирует символы полезной нагрузки обычным печатным шрифтом и выполняет функцию резервного канала передачи данных. Если бумажная этикетка окажется физически порвана, залита краской, перечеркнута маркером или смята на сгибе коробки так, что ни один оптический считыватель не сможет восстановить геометрию штрихов, сотрудник склада сможет прочитать строку визуально и ввести артикул или серийный номер вручную с клавиатуры терминала. Шрифт текстовой подписи должен быть четким, разборчивым (без декоративных засечек, затрудняющих различение схожих символов, таких как цифра 0 и буква O , цифра 1 и буква I ) и располагаться на достаточном отступе от нижнего края штрихов, чтобы верхние элементы букв не сливались с полосами кода.

Сравнение Code 39 с другими линейными и матричными штрихкодами

Выбор формата штрихкодирования при проектировании макета этикетки зависит от доступной площади печатного носителя, объема кодируемой строки, регламентов внешней торговли и парка считывающего оборудования. Символика Code 39 занимает собственную нишу среди индустриальных стандартов благодаря простоте своей архитектуры, однако в ряде прикладных задач уступает место более компактным или узкоспециализированным форматам.

Сопоставление с высокоплотными линейными кодами Code 128 и Code 93

Главное техническое ограничение Code 39 при сопоставлении с более поздними индустриальными символиками Code 93 и Code 128 заключается в низкой информационной плотности записи. Из-за использования всего двух градаций ширины элементов и наличия обязательного межсимвольного зазора физическая длина сгенерированного штрихкода Code 39 оказывается значительно больше при кодировании идентичного набора знаков.

Символика Code 93 разрабатывалась как прямая компактная замена Code 39: она использует непрерывную структуру без межсимвольных пробелов и четыре градации толщины модулей, что сокращает горизонтальный габарит этикетки. Стандарт Code 128 обеспечивает еще более высокую плотность упаковки за счет поддержки трех переключаемых таблиц кодирования, одна из которых (подмножество C) записывает пары цифр в один графический знак, уменьшая ширину цифровых участков кода почти вдвое.

Тем не менее более простая геометрическая структура делает Code 39 менее требовательным к качеству печати и состоянию печатающей головки. Там, где незначительный непропечаток или растекание тонера в многомодульном Code 128 приведет к сбою декодирования или искажению обязательной контрольной суммы, широкий и разреженный профиль Code 39 сохранит читаемость даже при нанесении на грубый гофрокартон или печати на изношенном оборудовании.

Отличия от товарных розничных форматов EAN-13 и UPC-A

Линейные коды семейств EAN-13 и UPC-A предназначены для кассового обслуживания в розничной торговле и конструктивно отличаются от индустриального Code 39 по трем параметрам: составу допустимых знаков, фиксированной разрядности и административному регулированию.

Ниже приведены ключевые критерии разграничения задач между индустриальным Code 39 и розничными стандартами:

  • Алфавит кодирования: товарные символики EAN-13 и UPC-A работают строго с арабскими цифрами от 0 до 9 , тогда как Code 39 объединяет цифры, латинские буквы и специальные символы для формирования осмысленных текстово-цифровых артикулов.
  • Длина строки данных: розничные форматы жестко ограничены фиксированным числом разрядов (12 полезных цифр плюс 1 контрольная для EAN-13; 11 полезных плюс 1 контрольная для UPC-A), а Code 39 допускает переменную длину сообщения, ограниченную лишь физическими размерами этикетки и шириной захвата сканера.
  • Регистрация и область обращения: выпуск легитимных кодов EAN-13 и UPC-A для поставки продукции в торговые сети требует членства в международной организации GS1 и оплаты выделенного диапазона глобальных номеров, в то время как штрихкоды Code 39 с произвольным содержимым генерируются и внедряются внутри предприятия совершенно свободно без какой-либо внешней регистрации.

Сравнение с двумерными матричными кодами QR Code и Data Matrix

Переход от линейных одномерных штрихкодов к двумерным матричным символикам, таким как QR Code и Data Matrix, меняет сам принцип пространственного размещения информации. Вместо растягивания полос по одной горизонтальной оси матричные коды распределяют данные по вертикали и горизонтали в виде сетки из темных и светлых квадратных или круглых ячеек.

Такая архитектура позволяет разместить в компактном квадрате Data Matrix размером в несколько миллиметров сотни и тысячи символов, включая полные веб-ссылки, кириллический текст, сериализованные криптохвосты или подробные паспорта изделий, что физически невозможно реализовать в рамках Code 39. Кроме того, матричные стандарты используют встроенные алгоритмы помехоустойчивого кодирования Рида-Соломона, восстанавливающие данные даже при полной утрате части площади изображения.

Выбор в пользу генерации линейного Code 39 вместо компактных 2D-кодов обусловлен аппаратной совместимостью с парком считывающих устройств. Для распознавания QR Code или Data Matrix необходим двумерный фотосканер (2D-имиджер), способный сделать снимок матрицы целиком и обработать его программно. Классические одномерные лазерные и простые линейные светодиодные считыватели, которыми до сих пор массово оснащены производственные линии, склады и логистические терминалы, технически не способны декодировать двумерные матрицы, но безошибочно и на большом расстоянии считывают широкие контрастные полосы Code 39.

Сводная таблица характеристик форматов штрихкодирования

В таблице систематизированы эксплуатационные и технические параметры рассмотренных символик для быстрого выбора подходящего стандарта под конкретную задачу маркировки:

Параметр сравнения Code 39 Code 128 / Code 93 EAN-13 / UPC-A QR Code / Data Matrix
Тип архитектуры Линейный (1D), дискретный Линейный (1D), непрерывный Линейный (1D), непрерывный Матричный (2D)
Кодируемый набор данных Цифры, заглавная латиница, 7 спецсимволов (весь ASCII в режиме расширения) Полный набор 128 символов ASCII Исключительно цифры (0-9) Любые данные: цифры, текст, бинарные потоки, кириллица
Длина сообщения Переменная (ограничена габаритами этикетки) Переменная Строго фиксированная (13 или 12 цифр) Переменная (высокая информационная емкость)
Плотность записи (компактность) Низкая (требует длинной этикетки) Высокая (экономное использование места) Средняя (стандартизированный размер) Сверхвысокая (размещение на малых площадях)
Необходимость регистрации в GS1 Не требуется (свободное использование) Не требуется для внутреннего учета (нужна только для GS1-128) Обязательна для внешней розничной торговли Не требуется для внутренних и общих задач
Совместимость с 1D лазерными сканерами Полная совместимость Полная совместимость Полная совместимость Несовместимы (требуется 2D-имиджер)

Нужен другой
инструмент?

Откройте раздел инструментов штрихкодов и выберите подходящий.

Все инструменты штрихкодов