Надежное распознавание DataMatrix кодов Честного знака с фотографий — Aspose.BarCode + .NET

Готовое решение для распознавания DataMatrix кодов с фотографий любого качества. Распознает один или несколько кодов "Честный ЗНАК" на одном изображении, справляясь даже с нечитаемыми для глаза этикетками (размытыми, под углом, с бликами). Позволяет интегрировать в 1С мощь библиотеки Aspose.BarCode без покупки лицензии. Решение полностью локальное, быстрое и безопасное. В комплекте C# компонента и обработка для 1С.

Арт.: 2415745

2025-06-24 22 25 48.jpg
2025-06-26 22 45 41.jpg
image.png
image.png
2025-06-24 22 25 48.jpg
2025-06-26 22 45 41.jpg
image.png
image.png
Лицензии

48000 руб.

Техническая поддержка

4500 руб.

Надежное распознавание DataMatrix кодов Честного знака с фотографий — Aspose.BarCode + .NET

Готовое решение для интеграции в 1С, позволяющее с высокой точностью распознавать один или несколько штрих-кодов (Data Matrix, QR и др.) напрямую с одной фотографии. Идеально подходит как для идентификации единичного товара (например, в рамках акций лояльности), так и для пакетной обработки при инвентаризации или приемке товара. Обработка 1С для распознавания кода маркировки с фото и поиска товара в базе. Не работает без поставляемой .NET-компоненты BarcodeReader.

Архив поставки содержит полный программный комплекс для распознавания DataMatrix кодов с фотографий. Включает в себя обработку для 1С и высокопроизводительный C# компонент.

В решении есть два независимых, но взаимосвязанных компонента:

  1. Внешняя обработка для 1С (.epf), которая организует весь процесс.
  2. Standalone (автономное) C# приложение (.exe), которое выполняет основную работу по распознаванию и может использоваться в любых других проектах (Python, PHP, Delphi и др.).

Функциональные возможности и преимущества

1

Распознавание нескольких кодов

Система способна найти и декодировать все DataMatrix коды на одной фотографии, что идеально подходит для быстрой инвентаризации или приемки нескольких товаров одновременно

2

Высочайшая точность

Распознает даже размытые, поврежденные и находящиеся под углом коды. В основе лежит Aspose.BarCode — ведущая коммерческая библиотека для работы со штрих-кодами

3

Работает с плохими фотографиями

Специально заточено под распознавание кодов с фотографий низкого качества, сделанных на телефон. Эффективно справляется с бликами, тенями и искажениями

4

Полностью локально

Весь процесс распознавания происходит на вашей машине без отправки данных в облако. Для распознавания кодов "Честный ЗНАК" лицензия не требуется

5

Универсальность

C# компонент можно использовать отдельно в любых проектах, где нужен надежный OCR штрих-кодов

6

Простая интеграция с 1С

Готовая обработка, которую легко адаптировать под любую конфигурацию 1С:Предприятие

7

Детальное логирование

C# приложение ведет подробный лог-файл, что упрощает диагностику и отладку процесса распознавания

Предыстория: как появилось это решение

Обратился руководитель отдела автоматизации крупной fashion-компании. Бизнес-модель включала розничные магазины, оптовые продажи и, что ключевое, активную торговлю на маркетплейсах Ozon и Wildberries.

Ключевой проблемой для их бизнеса стали высокие комиссии маркетплейсов, которые съедают значительную часть прибыли. Задача стояла амбициозная: найти способ "увести" покупателей с маркетплейсов в собственный канал прямых продаж, получив их контакты для дальнейшей работы.

Идея была изящной:

  1. В каждую упаковку товара, продаваемого через маркетплейс, вкладывать флаер с предложением поучаствовать в розыгрыше призов.
  2. Для участия в акции покупатель должен отправить в специальный Telegram-бот фотографию этикетки с DataMatrix кодом «Честный ЗНАК».
  3. В момент отправки фото происходит главное:
  • Компания получает прямой контакт клиента — его Telegram-ID.
  • Распознав код, система в 1С точно определяет, какой товар, какого цвета и размера купил человек.
  • На основе этих данных можно с высокой точностью определить профиль клиента: пол, предпочтения в стиле, размерную сетку.

Таким образом, компания получает бесценную базу теплых контактов для построения прямых продаж через целевые рассылки в Telegram, минуя дорогие каналы Ozon и Wildberries и значительно увеличивая свою прибыльность.

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

Однако возникла ключевая техническая проблема: платформа 1С не может напрямую работать с современными .NET-библиотеками, как Aspose.BarCode, у которых нет COM-интерфейса. Для ее решения и была разработана C# компонента. Она выступает в роли необходимого моста (wrapper), который принимает простые команды от 1С и выполняет всю сложную работу с .NET-библиотекой.

Решив главную задачу интеграции, наделили этот "мост" дополнительным интеллектом для борьбы с "трудными" фотографиями. Если код не распознается с первой попытки, программа автоматически обрезает, увеличивает и модифицирует изображение, пока не добьется успеха. Это позволило достичь почти 100% распознавания и обеспечить бесперебойную работу всей маркетинговой схемы.

Впоследствии функционал был расширен для распознавания сразу нескольких кодов на одном изображении, что значительно ускорило бы, например, процесс инвентаризации.

Пример фотографии с тремя DataMatrix кодами, которые успешно распознаются системой за один раз.

Распознано:

0104627131305635215xN-fRd7OK%>Y
0104627147220953215Yq3'P!bFGR&A
0104680146411661215f*L0NDj(W&a:

Пример работы в самых сложных условиях

На фотографии ниже этикетка снята под экстремальным углом при плохом освещении. Разобрать код человеческим глазом невозможно даже при сильном увеличении.

 

Однако  алгоритм уверенно справился с задачей. Как видно из лога работы программы, после нескольких неудачных попыток распознать код на оригинальном изображении, система начала автоматически применять различные методы обработки: увеличение, обрезку, выделение частей. Успех был достигнут только на 7-й попытке, после "агрессивной обрезки" и увеличения изображения.

Фрагмент лога, демонстрирующий процесс:

R03;
      
...
[22:21:58.792] U05;A039;  🔍 Шаг 1: Попытка распознавания оригинального изображения
[22:22:02.545] b88;A039;  b88;A039; Оригинальное изображение не распознано. Переходим к улучшенной обработке...
[22:22:02.545] U05;A039;  🔍 Шаг 3: Применяю предварительную обработку изображения...
[22:22:02.576] U05;A039;  🔧 Создаю и тестирую: Увеличенное изображение...
[22:22:09.887] U05;A039;  🔧 Создаю и тестирую: Обрезанное изображение...
[22:22:15.998] U05;A039;  🔧 Создаю и тестирую: Центральное изображение...
[22:22:19.963] U05;A039;  🔧 Создаю и тестирую: Левая часть изображение...
[22:22:24.633] U05;A039;  🔧 Создаю и тестирую: Верхняя часть изображение...
[22:22:29.665] U05;A039;  🔧 Создаю и тестирую: Агрессивная обрезка изображение
[22:22:30.139] U05;A039;  🗡A039; Агрессивная обрезка: убрано 137px, размер 686x1006 U94; 2744x4024
[22:22:31.253] c89; c89; Найден GS1DataMatrix: (01)04610331508203(21)5JdJdy/tDcPdd...
[22:22:31.255] c89; 🎉 Код найден в Агрессивная обрезка изображении! Остановка обработки.
...

    

R03;

Именно этот многоступенчатый подход и позволяет добиться результата там, где другие системы пасуют.

Итоговый распознанный код:
0104610331508203215JdJdy/tDcPdd


 

Как это работает: Архитектура решения

Процесс построен на взаимодействии 1С и C# приложения через файловый обмен в формате JSON.

  1. 1С (Обработка): Пользователь выбирает файл с фотографией, на которой может быть один или несколько кодов.
  2. Запуск .EXE: 1С запускает C# приложение BarcodeReader.exe, передавая ему в качестве аргумента путь к JSON-запросу.
  3. C# (BarcodeReader.exe): Универсальная портативная компонента для распознавания штрих-кодов.
    • Читает и парсит JSON-запрос.
    • Запускает многоступенчатый процесс распознавания, находя все возможные коды на изображении.
    • Формирует и сохраняет JSON-ответ, содержащий массив всех найденных кодов.
  4. 1С (Обработка): Дожидается завершения, читает JSON-ответ, извлекает и очищает каждый код из полученного массива. Результат выводится в специальное поле, как показано на скриншоте.

(Дальнейшая логика — поиск первого кода, всех кодов или вывод списка для выбора — легко настраивается в 1С.)

Результат распознавания в интерфейсе обработки 1С:


Компонент 1: C# приложение “BarcodeReader”

Это сердце системы. Консольное приложение, написанное на C# с использованием библиотек Aspose.BarCode, OpenCVSharp и Newtonsoft.Json.

Технические особенности

  • Мульти-декодирование: Может одновременно искать несколько типов кодов (DataMatrix, GS1DataMatrix, QR, Code128 и др.) на одном изображении.
  • Умная обработка изображений: Автоматически применяет различные техники улучшения изображения для повышения шансов на распознавание.
  • Логирование: Создает файл BarcodeReader.log в своей папке, где подробно описывает каждый шаг.

Системные требования

  • Платформа: Приложение является self-contained, то есть не требует установки .NET на целевой машине.
  • ОС: Windows 7 и новее (x64/x86).
  • Дисковое пространство: ~100 МБ для приложения и его библиотек.

Как использовать отдельно (из командной строки)

Создайте файл запроса в формате JSON и запустите приложение из командной строки:

C:\Path\To\BarcodeReader\BarcodeReader.exe "C:\temp\my_request.json"

Формат файла запроса (request.json)

{
  // Обязательно: Путь к изображению, которое нужно распознать
  "ImagePath": "C:\\images\\label.jpg",

  // Обязательно: Путь, куда будет сохранен результат
  "OutputPath": "C:\\images\\label_result.json",

  // Необязательно: Типы кодов для поиска через запятую. По умолчанию "DataMatrix".
  // Доступны: DataMatrix, GS1DataMatrix, QR, Code128, EAN13, ALL
  "BarcodeTypes": "DataMatrix,GS1DataMatrix",

  // Необязательно: Включить режимы высокого качества Aspose. По умолчанию true.
  "HighQuality": true,

  // Необязательно: Включить предварительную обработку изображения (обрезка, увеличение).
  // Очень полезно для "трудных" фото. По умолчанию false. В 1С-обработке включено.
  "ProcessImage": true,

  // Необязательно: Включить автоматический поиск и вырезание областей с кодами с помощью OpenCV.
  // По умолчанию false.
  "AutoCrop": true
}

Формат файла результата (result.json)

{
  "Success": true,
  "Message": "Найдено кодов: 3",
  "Codes": [
    "(01)04627131305635(21)5xN-fRd7OK%>Y(91)EE10(92)2x/MdxOvMeM2h3RgX***************************Recognized by Aspose Barcode Reader evaluation version. Only Code39Standard can be recognized without restrictions. Please buy license to use Aspose Barcode Reader without watermarks.",
    "(01)04627147220953(21)5Yq3'P!bFGR&A(91)EE11(92)jTuBnoj2Vdc1lcSsG***************************Recognized by Aspose Barcode Reader evaluation version. Only Code39Standard can be recognized without restrictions. Please buy license to use Aspose Barcode Reader without watermarks.",
    "(01)04680146411661(21)5f*L0NDj(W&a:(91)EE10(92)16AtTRadCTCy3Rf8A***************************Recognized by Aspose Barcode Reader evaluation version. Only Code39Standard can be recognized without restrictions. Please buy license to use Aspose Barcode Reader without watermarks."
  ],
  "ErrorDetails": "",
  "ProcessedAt": "2025-06-26T16:50:27.6638221+03:00",
  "ProcessingTimeMs": 977
}

Компонент 2: Обработка 1С

Внешняя обработка .epf служит удобным интерфейсом для взаимодействия с C# компонентом и интеграции его в бизнес-логику 1С. Обработка доработана для отображения всех найденных кодов в отдельном поле.

Совместимость

  • Управление торговлей 11.x
  • Бухгалтерия предприятия 3.x
  • ERP Управление предприятием 2.x
  • Розница 2.x, 3.x
  • Любые конфигурации со справочником “ШтрихкодыУпаковокТоваров” или аналогичным.

Функционал обработки

  • Простой интерфейс: Кнопки для выбора файла и запуска распознавания.
  • Отображение всех кодов: Результат выводится в специальное поле “Массив очищенных кодов”.
  • Серверный вызов: Вся логика выполняется на сервере 1С.
  • Парсинг и очистка кода: Содержит функции для извлечения кодов из JSON, удаления “криптохвоста” Aspose и приведения кода “Честный ЗНАК” к стандартному формату.
  • Поиск в базе: Пример запроса для поиска штрих-кода в справочнике ШтрихкодыУпаковокТоваров.
  • Пакетная обработка: Содержит экспортную процедуру для регламентных заданий.

Глубокая интеграция и переиспользование кода

Готовая обработка демонстрирует все возможности интеграции. Код из ее модуля можно легко перенести в общий модуль вашей конфигурации и вызывать по мере необходимости:

// В любом модуле 1С:
ВнешняяОбработка = ВнешниеОбработки.Создать("ИдентификацияТовараПоФотоКодаЛокально.epf");
Результат = ВнешняяОбработка.РаспознатьШтрихкодНаСервере("C:\photo.jpg");

Настройка и использование

  1. Распакуйте архив BarcodeReader.rar.

  2. Разместите C# приложение в каталоге платформы 1С. Скопируйте папку BarcodeReader (со всем её содержимым) в каталог bin той версии платформы, которую использует ваш сервер 1С. Это важно для корректной работы функции КаталогПрограммы(). Пример пути: C:\Program Files\1cv8\8.3.26.1540\bin\BarcodeReader\.

  3. Откройте обработку в 1С. Через Файл -> Открыть выберите файл ИдентификацияТовараПоФотоКодаЛокально.epf.

  4. (Важно!) Проверьте путь в коде. Откройте модуль объекта обработки и найдите функцию РаспознатьDataMatrixКод. Убедитесь, что используется вариант с КаталогПрограммы():

    // ...
    Если ПустаяСтрока(ПутьКПриложениюBarcodeReader) Тогда
        // Этот вариант будет работать, если вы разместили папку BarcodeReader в каталоге bin
        ПутьКПриложениюBarcodeReader = КаталогПрограммы() + "BarcodeReader\BarcodeReader.exe"; 
    КонецЕсли;
    // ...
  5. Пользуйтесь! Выберите файл с фото этикетки и нажмите “Распознать”.


Состав комплекта поставки

К публикации приложен один архив Комплект поставки.rar, который содержит всё необходимое для немедленной работы. После скачивания и распаковки вы получите:

  1. Папка BarcodeReader

    • Содержит автономное C# приложение-распознаватель, все сопутствующие библиотеки (.exe, .dll) и пример файла запроса. Это "движок" всей системы.
  2. Файл ИдентификацияТовараПоФотоКодаЛокально Инфостарт.epf

    • Готовая внешняя обработка для платформы 1С:Предприятие 8, которая обеспечивает удобный интерфейс и интеграцию с C# компонентом.

 

 

Техническая поддержка и обновления

Бесплатный период техподдержки составляет 1 месяц со дня покупки.

Также после приобретения вы получаете 3 месяца бесплатных обновлений.

По окончании бесплатного периода вы можете приобрести услугу технической поддержки на платной основе.

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

Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.

При создании тикета необходимо предоставить:

  • Номер заказа
  • Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
  • Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.

К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения

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

 

 

Техподдержка
 

Остались вопросы?

Для получения дополнительной информации и помощи в настройке модуля под нужды вашего бизнеса — оставьте заявку

Демоверсия Feedback Pro

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.22.70

Оставьте свое сообщение

См. также

Модуль "Ответственное хранение" в 1С:УТ 11.5, КА 2.5, ERP 2.5 для фулфилмента FBS / FBO

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

89900 руб.

SALE! 10%

Автоматический подбор и заполнение ГТД для 1С:Бухгалтерия предприятия 8, редакция 3.0 (платформа 8.2 и 8.3)

СКАЧАЙТЕ И ПОПРОБУЙТЕ БЕСПЛАТНО! Данная обработка расширяет функционал типовой конфигурации «1С:Бухгалтерия предприятия» и позволяет осуществлять автоматическое заполнение ГТД в документах «Реализация товаров и услуг», «Списание товаров», «...

9600 руб.