Распознавание штрих-кода картинки ZXing (java)

06.02.24

Разработка - Инструментарий разработчика

UPD 06.02.2024 Версия встроенных библиотек 3.5.3 Обработка позволяет распознавать штрих-код и QR-код картинки с помощью ZXing (java).

Скачать файлы

Наименование Файл Версия Размер
Распознавание штрих-кода картинки ZXing (java):
.epf 884,40Kb
4
.epf 2.3.5.3 884,40Kb 4 Скачать
Распознавание штрих-кода картинки ZXing (java):
.epf 819,52Kb
103
.epf 2.3.4.1 819,52Kb 103 Скачать
Распознавание штрих-кода картинки ZXing (java):
.epf 878,42Kb
20
.epf 2.3.5.0 878,42Kb 20 Скачать

Обработка позволяет распознавать штрих-код и QR-код на картинке с помощью ZXing (java)

ZXing - проект с открытым исходным кодом, мультиформатный 1D/2D обработчик изображений штрих-кодов.
Библиотека реализована на Java, с портами на другие языки.

Для работы требуется установленная Java

Данная обработка 1С позволяет использовать ZXing для распознавания штрих-кодов на картинке.
Файлы библиотеки встроены в макеты. Тестировалась на версии платформы 8.3.12.1440, 8.3.15.1700, 8.3.20.1789, 8.3.22.2283

Библиотека ZXing, по заявлению авторов, распознает форматы:

Decode a 1D or 2D barcode from an image on the web. Supported formats include:

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 93
  • Code 128
  • ITF
  • Codabar
  • RSS-14 (all variants)
  • RSS Expanded (most variants)
  • QR Code
  • Data Matrix
  • Aztec ('beta' quality)
  • PDF 417 ('alpha' quality)
  • MaxiCode

Тестовый сайт разработчика ZXing

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

  • Управление торговлей, редакция 11, релизы 11.5.12.87

штрихкод штрих-код qr-код qr code распознать распазнать zxing картинка сканер zbar

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121612    670    389    

711

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7262    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3507    11    1    

33

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101367    296    173    

312

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177727    1073    0    

849

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    3800    2    1    

3

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99339    239    97    

296

SALE! 30%

Когда много сканов: Автоматическое прикрепление сканированных документов

Учет документов Распознавание документов и образов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Обработка экономит время, распознавая и прикрепляя сканированные оригиналы документов к документам в 1С. Поддерживаются штрихкоды, QR-коды, отсканированные PDF документы без штрихкодов, полученные в результате потокового сканирования PDF документы, сформированные в ЭДО PDF документы.

6480 4536 руб.

23.12.2021    12082    7    24    

7
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. 🅵🅾️🆇 522 30.07.18 14:40 Сейчас в теме
Можно тестовый сайт разработчика в качестве библиотеки и использовать)
POST запросом отправлять изображение и забирать Parsed Result, скажем, через XPath

Генерация, всеже, интереснее: https://zxing.appspot.com/generator
Хоть Я для этих целей гугл использую.
3. tanat74 66 30.07.18 16:56 Сейчас в теме
(1) Думаю да, но у меня это оффлайн решение.
2. efin 30.07.18 15:34 Сейчас в теме
Коллеги, я в самом начале изучения Java и как раз у меня задача подобная этой.
На основе готовой библиотеки (этой и еще PDFBox) написать JSON REST- сервис, который позволяет работать с ней через веб.
В идеале - в формате микросервиса. Идеал к которому стремлюсь это https://developer.ilovepdf.com/docs/api-reference

Мне нужна реальная помощь с шаблоном - я умею программировать только так, "от печки".

В ответку обещаю выложить на гитхаб работающий результат для всех желающих как когда-то выложил https://github.com/shachneff/BROM-Asterisk-Native
8. silberRus 72 08.11.18 17:37 Сейчас в теме
(2) смотрю профиль на гите, и c++ и ruby и pithon. А вот зачем тогда тебе 1с? не пойму.
4. efin 31.07.18 03:48 Сейчас в теме
(0) Если в имени пользователя компьютера есть пробелы, или путь каталога временных файлов 1С содержит пробелы, то обработка не работает.

Например, "C:\Users\Boris Britva\AppData\Local\Temp\v8_4F80_12.jar"
5. tanat74 66 31.07.18 14:09 Сейчас в теме
(4) Спасибо за информацию. Поправил.
6. efin 31.07.18 18:30 Сейчас в теме
(0) Подскажите, пожалуйста, вот эта обработка на сервере передает путь к файлу в java-программу.
У меня картинка со штрихкодом хранится в реквизите типа ХранилищеЗначения, и мне не хочется выгружать ее в промежуточный временный файл.

В современной платформе 1С появились потоки. Может как-то можно передать картинку через память?
7. tanat74 66 03.08.18 09:45 Сейчас в теме
(6)Не знаю. Я совсем не разбираюсь в java, только методом тыка и аналогий сумел прикрутить через файл.
9. Bond 15.11.18 14:20 Сейчас в теме
скажите, какой формат файлов поддерживается?
конкретно интересует pdf
10. tanat74 66 20.11.18 12:49 Сейчас в теме
(9) не нашел точной информации, проверял jpg и bmp
pdf - думаю нет.
11. Bond 25.11.18 22:06 Сейчас в теме
скачал обработку (через посредника), но не хочет распознавать картинку...
через онлайн распознавалку ксинга (https://zxing.org/w/decode.jspx) распознает нормально..
в чем может быть проблема?
Прикрепленные файлы:
15. tanat74 66 28.11.18 12:56 Сейчас в теме
(11) Тестовый пример работает. и приложенный Вами файл тоже.
Создал абсолютно пустую - файловую базу на платформе 1С:Предприятие 8.3 (8.3.13.1513)
Прикрепленные файлы:
16. Bond 28.11.18 17:04 Сейчас в теме
(15) может требуются какие то дополнительные действия? регистрация длл или еще что то?
17. tanat74 66 30.11.18 10:56 Сейчас в теме
18. Bond 30.11.18 15:52 Сейчас в теме
(17) установил, теперь выдает такое:
could not find or load main class com.google.zxing.client.j2se.CommandLineRunner
25. user1448521 12.08.20 12:46 Сейчас в теме
(18) Удалось решить проблему?
26. tanat74 66 12.08.20 14:21 Сейчас в теме
(25) Если у вас такая же ошибка установите java. Ссылка есть в публикации.
Или можете поставить альтернативную сборку: https://adoptopenjdk.net/
Я использую for Windows x64: OpenJDK 8 (LTS) - HotSpot

В папке должно быть 3 файла: core-3.3.2.jar javase-3.3.2.jar jcommander-1.7.jar
27. user1448521 12.08.20 16:03 Сейчас в теме
(26)
В папке должно быть 3 файла


java установлена была. установка альтернативной сборки не дает результата
28. user1448521 13.08.20 16:32 Сейчас в теме
(26) не получается корректно считать штрих-коды (ошибка "could not find or load main class com.google.zxing.client.j2se.CommandLineRunner"). java ставилась и с оф.сайта и предложенная выше (и 32 и 64 разрядная). Подскажите корректную последовательность действий.
12. Bond 26.11.18 11:47 Сейчас в теме
обработка постоянно пишет что шрихкод не найден...
13. Bond 26.11.18 12:03 Сейчас в теме
причем даже тестовая картинка не распознается
14. Bond 26.11.18 12:16 Сейчас в теме
хоть у кого то заработало?
19. anvolkov1cbit 27 24.04.19 11:02 Сейчас в теме
20. anvolkov1cbit 27 24.04.19 11:03 Сейчас в теме
Если на картинке несколько штрихкодов, тогда определяет только один. Планируется возможность работы с несколькими ШК?
21. tanat74 66 24.04.19 12:41 Сейчас в теме
(20) Судя по тому что на сайте это работает, наверное как-то и тут можно. Но у меня пока не появлялось таких потребностей. Буду благодарен, если сообщите сюда, если что-то найдете.
22. borda4ev 15 08.07.19 13:57 Сейчас в теме
(21) Что бы выполнялось распознование нескольких штрих кодов, на одном изображении, нужно добавить параметр --multi
23. mvv1975 836 08.08.19 15:04 Сейчас в теме
Добрый день. Интересует, будет ли компонента работать на 64 разрядном сервере 1С?
24. tanat74 66 08.08.19 15:23 Сейчас в теме
(23) Проблем не должно возникнуть, там командной строкой вызывается java приложение.
29. пользователь 09.06.21 16:53
Сообщение было скрыто модератором.
...
30. tanat74 66 10.06.21 09:04 Сейчас в теме
(29) Здравствуйте.
Файлы в макетах обработки, обработка сама их достает во временный каталог.
Насколько вижу, у вас файл-картинка находиться по сети, у меня кажется так не получилось заставить работать. Попробуйте локально.
31. maxpiter 147 10.06.21 09:49 Сейчас в теме
(30) а вы можете этим 3 файла отдельно выложить? Я распрзнаю не из 1С 8.
С чего вы взяли что по сети? Хотя и по сети для java не должно быть проблем.
Полученная выше строка из отладчика 1Сного взята.
32. tanat74 66 10.06.21 10:05 Сейчас в теме
(31) файлы выложены в обработке, можете их от туда достать.
потому что у вас строка в конце: --try_harder file:////tmp/v8_79FK3k_60.jpg1"
maxpiter; +1 Ответить
33. maxpiter 147 10.06.21 11:50 Сейчас в теме
(32) Спасибо, вытащил, а вот дальше снова трабл

C:\w>java -cp core.jar;javase.jar;commander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_results --try_harder c:\w\ok1.jpg
Error: Could not find or load main class com.google.zxing.client.j2se.CommandLineRunner 
Caused by: java.lang.ClassNotFoundException: com.google.zxing.client.j2se.CommandLineRunner


выше про это писали, но как починить нет

C:\w>java --version
openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment AdoptOpenJDK-11.0.11+9 (build 11.0.11+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK-11.0.11+9 (build 11.0.11+9, mixed mode)
34. tanat74 66 10.06.21 12:18 Сейчас в теме
(33) Обработка работает в готовом виде, вы писали что переделываете не под 1Сv8 - вероятно тут какие то накладки. Попробуйте указывать файл как в обработке:
--try_harder file:///c:/w/ok1.jpg
35. maxpiter 147 10.06.21 12:22 Сейчас в теме
(34) дело не в файле, до него еще не дошли.
java не видит класса com.google.zxing.client.j2se.CommandLineRunner

C:\w>java -cp core.jar;javase.jar;commander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_results --try_harder file:///c:/w/ok1.jpg
Error: Could not find or load main class com.google.zxing.client.j2se.CommandLin
eRunnerCaused by: java.lang.ClassNotFoundException: com.google.zxing.client.j2se.CommandLineRunner
36. tanat74 66 10.06.21 12:33 Сейчас в теме
(35)
core.jar;javase.jar;commander.jar

перечисляя файлы, у вас нет j у commander. Проверьте имя файла в папке.
Прикрепленные файлы:
37. maxpiter 147 10.06.21 12:34 Сейчас в теме
(36) имена файлов правильные
Прикрепленные файлы:
38. maxpiter 147 10.06.21 12:37 Сейчас в теме
(36) охренеть, переименовал commander в jcommander и заработало, как так то
39. maxpiter 147 10.06.21 12:40 Сейчас в теме
Но ШК не находит ни одного

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok1.jpg
file:///c:/w/ok1.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok2.jpg
file:///c:/w/ok2.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok3.jpg
file:///c:/w/ok3.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok4.jpg
file:///c:/w/ok4.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no1.jpg
file:///c:/w/no1.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no2.jpg
file:///c:/w/no2.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no3.jpg
file:///c:/w/no3.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no4.jpg
file:///c:/w/no4.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no5.jpg
file:///c:/w/no5.jpg: No barcode found
Показать
41. tanat74 66 10.06.21 12:48 Сейчас в теме
(39) Качество и форматы распознавания можно проверить на тестовом сайте.
40. maxpiter 147 10.06.21 12:47 Сейчас в теме
но некоторые находит
Спасибо за помощь

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok1.jpg
file:///c:/w/ok1.jpg (format: CODE_128, type: TEXT):
Raw result:
101210100001698
Parsed result:
101210100001698
Found 2 result points.
Point 0: (3123.0,1744.5)
Point 1: (3123.0,1274.0)


C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok2.jpg
file:///c:/w/ok2.jpg (format: CODE_128, type: TEXT):
Raw result:
101210100005642
Parsed result:
101210100005642
Found 2 result points.
Point 0: (3094.0,1737.0)
Point 1: (3094.0,1267.5)


C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok3.jpg
file:///c:/w/ok3.jpg (format: CODE_128, type: TEXT):
Raw result:
101210100005839
Parsed result:
101210100005839
Found 2 result points.
Point 0: (3272.0,1777.0)
Point 1: (3272.0,1272.5)


C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok4.jpg
file:///c:/w/ok4.jpg (format: CODE_128, type: TEXT):
Raw result:
101210100005840
Parsed result:
101210100005840
Found 2 result points.
Point 0: (3277.0,1776.0)
Point 1: (3277.0,1272.0)


C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/ok5.jpg
file:///c:/w/ok5.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no1.jpg
file:///c:/w/no1.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no2.jpg
file:///c:/w/no2.jpg: No barcode found

C:\Program Files\AdoptOpenJDK\jdk-11.0.11.9-hotspot\bin>java -cp core.jar;javase
.jar;jcommander.jar com.google.zxing.client.j2se.CommandLineRunner --dump_result
s --try_harder file:///c:/w/no3.jpg
file:///c:/w/no3.jpg: No barcode found
Показать
42. tanat74 66 10.06.21 12:49 Сейчас в теме
(40) для определения конкретного вида шк есть специальный ключ, может он поможет:
--possible_formats CODE_128
maxpiter; +1 Ответить
43. Трактор 1246 21.09.21 10:43 Сейчас в теме
Работает. Распознаёт несколько штрихкодов с одной картинки. Всё хорошо. Прикольно, что ZXing по-разному работает на разных языках.

Обсуждаемая обработка из 50 штрихкодов на одной картинке распознала 42. Причём в двух случаях написала неверные коды.

Вот эта приблуда http://zbar.sourceforge.net/download.html на той же картинке распознала только 30, но все правильно.

Сейчас я озаботился тем, чтобы показывать пользователю распознанные штрихкоды, чтобы он мог перефотать нераспознанное. Колупаю вот эту разарботку https://waksoft.susu.ru/2021/05/03/kak-sgenerirovat-i-prochitat-qr-kod-v-python/
44. TotalMark 29.11.23 18:02 Сейчас в теме
Нужна компонента для 1С, которая будет читать ШК, QR на pdf этикетках и возвращать его числовое значение. Для ПК. Шаблонов этикеток 5 штук. В рамках этих форматов положение ШК или QR не меняется. Вы можете помочь доработать вашу компоненту под такой запрос на коммерческой основе ?
45. tanat74 66 30.11.23 10:40 Сейчас в теме
(44) Здравствуйте. Нет не смогу.
Оставьте свое сообщение