Размер штрихкода и свободная зона
Штрихкод — не картинка, которую можно масштабировать по вкусу. Это размер: ширина самого узкого штриха решает, сможет ли сканер его разрешить, а пустое место по бокам — сможет ли он его вообще найти. Уменьшение кода ради маленькой этикетки регулярно уничтожает и то и другое.
Модуль: самый узкий штрих
Любой линейный штрихкод построен на одной единице — **модуле**, или X-размере, — и каждый штрих и каждый пробел равен целому числу модулей. Уменьшая код, вы уменьшаете модуль. Ниже определённой ширины принтер уже не кладёт чистый край, а сканер не отличает один модуль от двух. Приложение считает ширину модуля для вашей этикетки и предупреждает: ниже **0,25 мм** помечает код как мелкий, ниже **0,19 мм** — как ненадёжный. Это наши пороги для обычного принтера и обычного сканера. В рознице строже — EAN-13, читаемый на кассе, специфицирован вокруг номинального модуля около 0,33 мм с ограниченным диапазоном увеличения, — поэтому для магазина печатайте заметно выше нашего минимума.
Свободная зона: пустое поле, которое и есть часть кода
Сканеры находят код как последовательность: пусто, штрихи, пусто. Уберите это поле — и сканер не поймёт, где код начинается. Свободная зона измеряется в **модулях**, а не в миллиметрах, поэтому уменьшается вместе с кодом. Приложение резервирует её автоматически: по десять модулей с каждой стороны для Code 128, Code 39 и ITF-14; одиннадцать слева и семь справа для EAN-13; по семь для EAN-8. Поэтому у кода в приложении «воздуха» больше, чем вы рисовали: это не отступ, это часть символа, и цена или рамка внутри него ломают код.
Как вместить, не сломав
Если код слишком широкий, пробуйте по порядку. **Сократите данные**: внутренний SKU из восьми символов в Code 128 намного уже двадцатисимвольного. **Смените символику**: Code 128 существенно уже Code 39 при том же содержимом. **Дайте коду всю ширину** этикетки, а текст поставьте над ним или под ним, а не сбоку. И только потом думайте о более крупной этикетке. Что не работает: уменьшать код масштабом или сжимать по горизонтали — это меняет соотношения и разрушает код.
Высота и строка с цифрами
Высота — не данные: она даёт мишень сканеру, проходящему под углом. Её можно уменьшать безопаснее ширины, но очень низкий код труднее навести, и это чувствуется на загруженной кассе, а не в тестах. Цифры под штрихами — **человекочитаемая строка**, и они важнее, чем кажется: если код повреждён, кто-то наберёт этот номер вручную. В EAN и UPC защитные штрихи намеренно опускаются ниже этой строки — так задано нормой, и приложение так и рисует.
Частые вопросы
Насколько маленьким может быть штрихкод?
Дело в ширине модуля, а не в общем размере. Мы предупреждаем ниже 0,25 мм и считаем ненадёжным ниже 0,19 мм. Розничные коды для кассы печатайте заметно выше, около номинальных 0,33 мм.
Что такое свободная зона?
Пустое поле по бокам, по которому сканер понимает, где код начинается и заканчивается. Измеряется в модулях и является частью символа.
Код чёткий, но не читается. Почему?
Чаще всего свободная зона перекрыта — рамка, цена или край этикетки слишком близко, — либо модуль ниже того, что разрешает принтер.
Можно сделать его ниже вместо того, чтобы сужать?
Да, высота — более безопасное измерение, поскольку не несёт данных.
Можно растянуть код на всю этикетку?
По горизонтали нет: это меняет соотношения. По вертикали безвредно.
Обязательны ли цифры под кодом?
Технически нет, но оставьте их. Если код поцарапан, товар введут по этому номеру вручную.
Этикетки, которые совпадают с купленным вами листом. Label Sheet раскладывает адресные этикетки, штрихкоды SKU и транспортные этикетки по реальным миллиметрам вашего листа и выдаёт PDF, который печатается на 100 процентов. Данные остаются в браузере.
Собрать лист этикеток в браузере