Почему QR с печати не читается: 6 причин и как проверить макет

Почему QR с печати не читается: 6 причин и как проверить макет

Код на экране распознаётся мгновенно, а с оттиска — через раз или вовсе никогда. Так бывает почти всегда по одной из шести причин, и пять из них закладываются ещё в макете, задолго до резины и краски. Ниже — как их различить и что править в файле.

Сначала отделите макет от оттиска

Проверка занимает три минуты и сразу показывает, где искать виноватого.

  1. Наведите камеру на экран. Откройте макет в масштабе примерно 1:3 и попробуйте считать код. Не читается даже так — дело в самом рисунке: содержимое, инверсия, посторонние элементы.
  2. Распечатайте в реальном размере. Лист обычной офисной бумаги, масштаб 100 %, без «вписать в страницу». Читается на экране, но не на распечатке — виноват размер модуля.
  3. Поставьте оттиск на ту же бумагу. Читается распечатка, но не оттиск — вопрос к клише, краске и нажиму.

Дальше — сами причины, от самой частой к самой редкой.

Причина 1. Модуль мельче 0,4 мм

Абсолютный чемпион. Код измеряют целиком, а читаемость определяет одна клетка — модуль. Число клеток растёт вместе с длиной содержимого: 14 байт умещаются в сетку 21 × 21, 26 байт требуют 25 × 25, 42 байта — 29 × 29. Прибавьте тихую зону по четыре модуля с каждой стороны, и физический размер клетки посчитается делением.

Для штемпельной краски рабочая граница — 0,4 мм на модуль. Проверяется в уме: код 14 мм со ссылкой из 20 знаков — это 33 клетки, то есть 0,42 мм. Тот же код на 12 мм даёт 0,36 мм, и рисунок начинает «плыть» при первом же прикосновении к бумаге.

Что делать: сократить содержимое до короткой ссылки либо увеличить код на два-четыре миллиметра. Уменьшать уровень коррекции ради экономии места не стоит — выигрыш копеечный, а запас прочности исчезает.

Причина 2. Краска растекается и съедает просветы

На бумаге каждый тёмный модуль оказывается чуть крупнее, чем в файле: краска уходит в волокно и добавляет по 0,05–0,15 мм к каждой стороне. Это явление в типографии называют растискиванием, и на мелком рисунке оно смертельно: белые промежутки между клетками сужаются вдвое, а местами исчезают.

В макете растискивание не видно совсем — оно проявляется только на оттиске, поэтому его закладывают заранее, выбирая модуль с запасом. Именно из-за него граница 0,4 мм выше рекомендаций для типографской печати, где хватает 0,25–0,3 мм.

Что делать: увеличить код, а не «утоньшать» рисунок. Если оттиски ставят на рыхлую бумагу — например, на бланки из вторичного сырья, — прибавьте ещё пару миллиметров: такая бумага впитывает краску сильнее и размывает границы клеток.

Причина 3. Тихой зоны нет или в неё что-то залезло

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

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

Что делать: оставить вокруг кода пустое поле не меньше трёх миллиметров и держать тихую зону включённой. Выключать её имеет смысл только тогда, когда белое поле уже обеспечено самим макетом.

Причина 4. Инверсия и слабый контраст

Светлый код на тёмном фоне — красивый приём, который не работает: подавляющее большинство камер ищет тёмные модули на светлом фоне. Вторая версия той же ошибки — код на цветной подложке или на фотографии, где контраст плавает от участка к участку.

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

Что делать: тёмные модули, светлый фон, никаких подложек под кодом. Если макет цветной, оставьте под код белый прямоугольник — он же послужит тихой зоной.

Причина 5. Уровень коррекции выбран наугад

QR-код умеет восстанавливать часть повреждённых данных: уровень L вытягивает примерно 7 % кодовых слов, M — 15 %, Q — 25 %, H — 30 %. Логика подсказывает взять максимум, но на печати это ловушка.

Чем выше уровень, тем больше служебных данных и тем выше версия при том же содержимом: код перескакивает, скажем, с сетки 25 × 25 на 33 × 33. При фиксированном физическом размере модуль уменьшается, и вы теряете больше, чем выигрываете. Уровень L опасен обратным: запаса не остаётся, и первая же потёртость клише выводит код из строя.

Что делать: M — рабочий выбор для оттиска, Q — для шершавой бумаги и активной эксплуатации. Уровень H оправдан только на крупном коде от 20 мм.

Причина 6. Кривой или неполный оттиск

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

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

Что делать: ставить оттиск на ровную поверхность с равномерным нажимом и следить, чтобы в файле код был контуром. В конструкторе он всегда вектор — хранится содержимое, а не картинка.

Таблица: по симптому к причине

Что видноПричинаПравка
На экране читается, на бумаге нетМелкий модуль или растискиваниеУвеличить код, сократить содержимое
Рисунок выглядит как серое пятноКраска съела просветыКод крупнее, бумага плотнее
Камера «видит» код, но не открываетТихая зона нарушенаОтодвинуть текст и рамки на 3 мм
Не распознаётся вообще, даже с экранаИнверсия или подложкаТёмный код на белом фоне
Работал раньше, перестал со временемИзнос клише при уровне LПеревыпустить клише с уровнем Q
Читается только в половине оттисковНеравномерный нажимРовная поверхность, свежая подушка

Пример: акт с кодом, который читался только у бухгалтера

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

Оказалось, что бухгалтерия ставит оттиск на плотный офисный лист, а водители — на копии путевых листов, отпечатанные на тонкой рыхлой бумаге. Модуль был 0,38 мм, то есть уже на грани; на плотной бумаге он держался, на рыхлой краска расплывалась и склеивала клетки.

Клише перевыпустили: содержимое сократили с полного адреса страницы до короткой ссылки, размер кода подняли с 12 до 15 мм, уровень коррекции — с M на Q. Модуль вырос до 0,45 мм, и код начал читаться с обоих типов бумаги.

Что проверить перед скачиванием макета

  • Длина содержимого: чем короче строка, тем крупнее клетки. Кириллица весит по два байта на букву.
  • Размер кода в миллиметрах, а не «на глаз» — и пересчёт модуля с учётом тихой зоны.
  • Пустое поле вокруг кода: ни текста, ни линий, ни рамок ближе трёх миллиметров.
  • Тёмные модули на светлом фоне, без подложек и градиентов.
  • Уровень коррекции M или Q, а не «максимальный на всякий случай».
  • Контрольная распечатка 1:1 и проверка телефоном под углом, а не строго сверху.

Перед скачиванием конструктор сам показывает список замечаний к макету: мелкий код, элементы за краем печати, тексты-заготовки. Остальные пункты чек-листа макета печати разобраны в статье о двенадцати проверках перед заказом, а требования к самому коду — в материале о печати с QR-кодом.

Частые вопросы

Код не читается только моим телефоном — это нормально?

Проверьте вторым устройством и при другом освещении. Если читают все, кроме одного, дело в камере; если никто — в макете или оттиске.

Помогает ли увеличить уровень коррекции до H?

Обычно нет: рисунок становится плотнее, модуль мельче, и код читается хуже, чем при M.

Можно ли уменьшить тихую зону, если места мало?

Лучше уменьшить сам код и оставить поле. Без тихой зоны сканер не находит границу рисунка.

Почему код читается с макета, но не с оттиска?

Между ними стоит краска: она расширяет модули на десятые доли миллиметра и съедает просветы.

Спасёт ли лазерная гравировка вместо фотополимера?

Она даёт более чёткий край клетки, но не отменяет расчёт модуля: слишком мелкий код не спасёт ни одна технология.

Итог

Пять причин из шести лечатся в макете, и все пять — арифметикой: короче строка, крупнее модуль, шире тихая зона, темнее краска, разумнее уровень коррекции. Шестая живёт в руке, которая ставит оттиск. Проверяйте код на распечатке 1:1 до заказа клише — переделка макета стоит минуты, переделка резины стоит дня.

Назад к блогу Открыть конструктор