Генератор кода Data Matrix
Data Matrix — квадратный двумерный код: сплошная рамка-уголок с двух сторон, пунктирная дорожка с двух других, поле ячеек внутри. В России его знают прежде всего по обязательной маркировке — квадратик на пачке лекарства, коробке обуви, упаковке молока и бутылке воды это именно Data Matrix, а не QR. Выбор там сделан из-за размера: коду хватает одного модуля зоны молчания по периметру, тогда как QR требует четырёх, и на мелкой потребительской упаковке эта разница решает, влезет символ или нет.
Оформление
160 × 160 px в PNG
Спецификация
- Набор символов
- любые данные
- Длина
- от 1 до 2335 символов
- Контрольная цифра
- в этой символике не используется
Сгенерировать Data Matrix списком
Кодов нужно много, а не один? Сгенерировать Data Matrix списком
Где применяется
- Обязательная маркировка потребительских товаров — лекарства, обувь, молочная продукция, упакованная вода, табак, парфюмерия, шины
- Приёмка и выбытие маркированного товара в аптеке и на складе — код с упаковки сканируют на каждом переходе, и от его читаемости зависит, пройдёт ли документ
- Прямое нанесение на детали и оснастку: лазерная гравировка или ударно-точечная маркировка вместо бумажной бирки, которая не переживёт цех
Чем отличается
Вопрос «Data Matrix или QR» в России почти всегда упирается в один частный случай: почему обязательная маркировка построена на Data Matrix, а не на всем знакомом QR. Ответ — площадь. Нужный объём данных держат оба формата без напряжения, разница набегает на накладных расходах. У QR это поисковые метки: три квадрата в углах, каждый со своим белым разделителем, и поле кругом в четыре модуля. Data Matrix решает ту же задачу сплошной рамкой по двум сторонам и пунктирной дорожкой по двум другим, а поля ему хватает одномодульного. Дальше начинает работать шаг сетки: у Data Matrix среди мелких размеров он равен двум модулям, у QR — четырём, поэтому короткая строка не округляется вверх до заметно большего квадрата. На блистере и на пачке лекарства из этих трёх мелочей и складывается ответ, помещается символ или уже нет. Обратная сторона такая же прямая: Data Matrix рассчитан на промышленный сканер, а не на камеру в чужом кармане. Если код должны сканировать случайные люди своими телефонами, берите QR — поддержка Data Matrix в бытовых приложениях непредсказуема, а проверять её на каждой модели телефона вы не станете.
Типичные ошибки
- Попытка самому сочинить код маркировки. Строка кода содержит не только код товара и серийный номер, но и криптографическую часть, которую выпускает оператор системы. Нарисовать похожий квадрат генератор может, но при проверке такой код не подтвердится: генератор кодирует уже существующую строку, а не выпускает её.
- Потеря разделителя между полями GS1. Когда в код упаковывают несколько элементов данных переменной длины, между ними ставится служебный символ-разделитель. Скопировали строку из учётной системы «как есть», без него — и сканер прочитает символы, но склеит соседние поля в одно, и разбор данных на приёмке развалится.
- Непропорциональное растягивание готовой картинки в макете. Data Matrix — сетка квадратных ячеек; подогнали изображение по ширине, не удержав пропорции, ячейки стали прямоугольными, и декодер перестаёт попадать в их центры на дальних от рамки рядах.
- Печать в инверсии — светлые ячейки на тёмном фоне. В макете это иногда выглядит уместнее прямого варианта, но часть считывателей инвертированный символ не берёт вовсе, а какой стоит у получателя, вы заранее не знаете.
Вопросы и ответы
- Можно ли сделать здесь код для обязательной маркировки?
- Нарисовать — да, если строка кода у вас уже есть: получена от оператора системы и лежит перед вами целиком. Придумать её нельзя, в неё входит криптографическая часть, которую выпускает эмиссионный центр. Проще говоря, генератор здесь работает средством печати, а не источником кодов маркировки.
- Почему у одинаковых на вид кодов разный размер сетки?
- У Data Matrix нет одного фиксированного формата: кодировщик подбирает наименьший стандартный размер, в который помещаются данные. Квадратных размеров двадцать четыре — от 10 на 10 до 144 на 144 модуля. Добавили к строке пару символов, данные перестали влезать в текущий размер — и символ скачком перешёл на следующий, вместе с ним выросла и картинка. Поэтому серию этикеток проверяют по самой длинной строке из партии, а не по первой попавшейся.
- Нужно ли дублировать содержимое кода текстом рядом?
- Стандарт символики этого не требует, а в маркировке и на производстве так делают: рядом с квадратом печатают код товара и серийный номер обычными знаками. Логика простая: символ может стереться, залиться краской или получить царапину поперёк рамки, и тогда данные вводят вручную с этой строки, а не отправляют упаковку в брак.