Проверяем по порядку
Причины стоит перебирать от частых к редким — так быстрее. Ниже порядок именно такой, а не по логической стройности.
1. Физическое повреждение кода
Самая частая причина. DataMatrix переносит потерю части площади благодаря избыточности, но при заломе на сгибе упаковки или потёртости критичной зоны восстановление невозможно. Визуально код при этом выглядит целым.
2. Качество печати
Расплывшийся или, наоборот, слишком бледный код — результат неверных настроек принтера или неподходящего носителя. Проверяется просто: если не читается вся партия, а не отдельная упаковка, дело в печати.
3. Засветка и блик
Глянцевая упаковка под прямым светом даёт блик ровно поверх кода. Достаточно изменить угол на 15–20 градусов. Подсветка телефона в упор чаще мешает, чем помогает.
4. Фокус
Слишком близко — камера не фокусируется. Для мелких кодов оптимально 10–15 см, а не вплотную, как кажется интуитивно.
5. Формат кода
Редкая, но встречающаяся ситуация: сканируется не тот код. На упаковке их может быть несколько — EAN-13 производителя, внутренний код склада и собственно DataMatrix маркировки. Нужен последний.
Если не читается ни один код
Тогда дело не в кодах, а в устройстве: загрязнённый объектив, поцарапанное защитное стекло или отсутствие разрешения на камеру у приложения.