Искажения DataMatrix при сканировании в Office: причины и настройка
Почему сканер DataMatrix выдает разные результаты в Word, Excel, Блокноте? Причины: HID-режим, GS/FNC1, префиксы, автозамена Office. Пошаговая настройка сканера, переход на COM-порт, отключение коррекции, тест в Notepad++ для стабильного вывода.
Почему при многократном сканировании одного и того же DataMatrix-кода в Блокнот/Word/Excel получаются разные результаты? Я 17 раз просканировал один и тот же хорошо читаемый DM-код. В некоторых сканированиях пропускаются символы, в других - они заменяются; то же самое наблюдается с другим сканером на другой машине. Может ли это быть особенностью офисных приложений при быстром вводе, настройками сканера (эмуляция клавиатуры, префиксы/суффиксы), кодировкой или чем-то ещё?
Примеры 17 считанных строк:
q00000788578:0000!:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578;00001:019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578;0000!019b69a2-96b9-79e4-a685-e276e150799*:0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:157
q00000788578;0001:019b69a2-96b9-79e4-a685-e276e1507998:157
q0000078857*:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q0000078857*;00001:019b69a2-96b9-79e4-a685-e276e1507998;0157
q00000788578:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:19b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e150799*;0157
q0000078857*:0001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
q00000788578:00001:019b69a2-96b9-79e4-a685-e276e1507998:0157
Какие возможные причины таких искажений при сканировании DataMatrix и какие шаги по диагностике и настройке сканера/ПО (кодировка, режим эмуляции клавиатуры, задержки, суффиксы/префиксы, отключение автозамен в Office) вы порекомендуете, чтобы получать стабильный корректный вывод?
При многократном сканировании одного и того же DataMatrix-кода в Блокнот, Word или Excel возникают искажения из-за настроек сканера штрихкодов — в частности, HID-режима, который игнорирует управляющие символы вроде GS (ASCII 29) и FNC1, добавляет префиксы/суффиксы или меняет символы на ;, !, *. Проблемы усугубляются автозаменой в Office, неверной раскладкой клавиатуры и кодировкой, что видно по вашим примерам: пропуски нулей, замена : на ;, * вместо 8. Чтобы добиться стабильного вывода, переключите сканер на COM-порт, отключите автокоррекцию в приложениях и протестируйте в Notepad++ с английской раскладкой.
Содержание
- Почему возникают искажения при сканировании DataMatrix
- Проблемы с режимами сканера: HID vs COM-порт
- Управляющие символы GS и FNC1 в DataMatrix-кодах
- Автозамена и кодировка в Office-приложениях
- Как диагностировать сканер DataMatrix
- Настройка сканера штрихкодов шаг за шагом
- Тестирование и дополнительные рекомендации
- Источники
- Заключение
Почему возникают искажения при сканировании DataMatrix
Смотрите на ваши 17 строк — один код, а результаты пляшут: то q00000788578:0000!, то с ; вместо :, * вместо 8, пропуски нулей в 00001 или финальных 0157. Это классика для сканера DataMatrix, особенно с маркировкой “Честный ЗНАК”. Почему так? Сканеры в HID-режиме (эмуляция клавиатуры) не всегда передают невидимые символы вроде GS1-разделителя (Group Separator, код 29) или FNC1 (Function Code 1, код 232). Они их просто пропускают, заменяют на пробел, B или ничего — вот и “теряются” нули или меняются разделители.
А теперь представьте: вы сканируете быстро, 17 раз подряд. Сканер добавляет свои префиксы (типа ;) или суффиксы (*), а Office подхватывает и “помогает” автозаменой — меняет ! на 1 или скобки на что-то иное. Плюс раскладка: если русская, символы интерпретируются криво. Это не вина вашего “хорошо читаемого” кода — он в порядке, проблема в цепочке: сканер → ввод → приложение. По данным официальной инструкции по проверке, такие пропуски и замены — топ-жалоба при работе с GS1-128 в DataMatrix.
Но подождите, это не все. Другой сканер на другой машине дает то же? Значит, системная настройка: кодировка (UTF-8 vs ANSI), задержки ввода или даже RDP-сессия (Shift “включается” случайно). В вашем случае * вместо 8 — типичная замена FNC1, а ; — префикс сканера. Давайте разберем по полочкам.
Проблемы с режимами сканера: HID vs COM-порт
Большинство 2D-сканеров для DataMatrix по умолчанию в HID-режиме — они имитируют клавиатуру, как будто вы печатаете. Удобно для Excel, но фатально для сложных кодов. HID игнорирует управляющие символы, добавляет CR/LF (Enter) или свои хвосты. Результат? Разные строки при одном коде.
Переходите на COM-порт (SPP-режим). Здесь сканер шлет сырые данные через виртуальный порт — полный код без потерь. Минус: не работает в браузере или простом Блокноте без доп. ПО, но для теста идеал. Как в руководстве Линерис: сбросьте сканер заводским конфиг-кодом (обычно сканируете специальный баркод), включите DataMatrix + инверсные коды, переключите на SPP.
Задержки ввода — еще убийца. Быстрое сканирование перегружает буфер, символы улетают. Увеличьте задержку в настройках сканера (0.1-0.5 сек). Префиксы/суффиксы? Многие модели (Zebra, Honeywell) добавляют ; в начале или * в конце по умолчанию. Отключите: в меню сканера (триггер + питание) найдите “Prefix/Suffix” и очистите.
А если сканер не пикает на DataMatrix? Проверьте фотосенсор — низкое разрешение или отключены инверсные коды (черный на белом).
Управляющие символы GS и FNC1 в DataMatrix-кодах
Ваш код — GS1-128 в DataMatrix: q00000788578[GS]00001[GS]019b69a2…[GS]0157. GS (невидимый, Alt+029) разделяет поля, FNC1 в начале сигнализирует “это GS1”. HID-сканеры их не видят: GS улетает — поля сливаются, 0000! вместо 00001. * или 8 — попытка передать FNC1 (232 в decimal).
В базе GBS.Market рекомендуют: задайте заменитель GS, например ] или |, в настройках сканера. Или используйте F8-режим (GS как функциональная клавиша). В Cleverence описывают ошибки D001-D011: без FNC1 код не парсится, скобки вокруг AI добавляются зря.
Решение: в Notepad++ (Вид → Показать символы → Все символы) GS виден как точка или □. Сканируйте 20 раз — если стабильно, сканер ок. Если нет, прошивка устарела — обновите с сайта производителя.
Автозамена и кодировка в Office-приложениях
Office — мастер подстав. Автозамена меняет : на ;, ! на 1, автодополнение добавляет пробелы. В Excel ячейки иногда обрезают по длине. Ваши примеры кричат об этом: 0157 то с 0, то без — автокоррекция цифр?
Отключите: Word/Excel → Файл → Параметры → Проверка → Автозамена → все галочки off. Проверка → Орфография → Автодополнение → отключить. Сохраняйте в UTF-8 (Файл → Сохранить как → Кодировка UTF-8). Раскладка: Win + Пробел → English (US).
Быстрый ввод? Office не поспевает — добавьте паузу Enter после кода в сканере. RDP? Форум PlanetaExcel предупреждает: Shift “застревает”, меняя регистр. Локальная машина — тест.
Тест: Блокнот в UTF-8, английская клавиатура. Стабильно? Office виноват.
Как диагностировать сканер DataMatrix
Начните просто. Шаг 1: тест на сайте Честный ЗНАК /barcode/ или Evotor-тест. Сканируйте ваш код — если веб видит правильно, аппарат ок.
Шаг 2: Notepad++ , 30 сканов подряд. Вид → Отображение символов → Управляющие. Нет GS? HID виноват.
Шаг 3: Проверьте модель — заводской код (сканируйте конфиг-баркод). Поддержка DataMatrix? В инструкции Markirovka: освещение ровное, угол 45°, код не поврежден.
Шаг 4: GBS-тест: Файл → Настройки → Оборудование → Проверить 2D-сканер. Или Линерис-диагностика: SPP vs HID.
Если два сканера одинаково косячат — ПО/ОС. Win10+? Обновите USB-драйверы.
Настройка сканера штрихкодов шаг за шагом
-
Сброс: Сканируйте заводской баркод (в мануале).
-
Режим: HID → COM/SPP. Триггер + Scan → меню → Transmit → SPP.
-
Префиксы/суффиксы: Очистить. GS-замена: на ] или пробел.
-
Задержки: Inter-character 20ms, Transmit 100ms.
-
Коды: DataMatrix on, Inverse on, GS1 on.
-
Прошивка: С сайта (Zebra Utility или Honeywell).
-
Office: Автозамена off, UTF-8, ENG-раскладка.
-
Тест: 50 сканов в Notepad++. 100% match? Готово.
В Cleverence добавьте: отключите прерывания клавиш, контрольные суммы on.
Тестирование и дополнительные рекомендации
После настроек — батч-тест: 100 сканов вашего кода + тестовый ( (01)12345678901234(17)20251230 ). В 1C? Настройка сканера штрихкодов в 1С: параметры → Delay 0.2с.
Не помогает? Купите сканер GS1 DataMatrix (Newland, Datalogic) — они заточены под маркировку. Избегайте дешевых — не читают FNC1.
Освещение: матовый свет, без бликов. RDP off. Для продакшена — софт вроде Клеверенс с парсингом.
С таким подходом стабильность 99%. Вы пробовали COM? Расскажите в комментах.
Источники
- Проверка сканера Data Matrix: инструкция
- Возможные проблемы и методы их устранения
- Проверка 2D сканера на готовность к работе с маркировкой
- Ошибки в DataMatrix и GS1-128
- Редкие ошибки при сканировании кодов DataMatrix в Excel
Заключение
Искажения в сканере DataMatrix при повторных сканированиях — комбо HID-режима, GS/FNC1-игнора, префиксов и Office-автозамены, но фиксится за 15 минут: COM-порт, очистка суффиксов, UTF-8 + ENG-раскладка. Тестируйте в Notepad++, отключайте коррекцию — и ваши 17 строк сольются в одну. Для “Честный ЗНАК” это must-have, иначе штрафы. Главный takeaway: не игнорируйте прошивку и задержки — они решают 80% бед. Удачи с настройкой!