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

06.02.24

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Распознавание штрих-кода картинки ZXing (java):
.epf 884,40Kb ver:2.3.5.3
11
11 Скачать (3 SM) Купить за 2 450 руб.
Распознавание штрих-кода картинки ZXing (java):
.epf 819,52Kb ver:2.3.4.1
105
105 Скачать (3 SM) Купить за 2 450 руб.
Распознавание штрих-кода картинки ZXing (java):
.epf 878,42Kb ver:2.3.5.0
21
21 Скачать (3 SM) Купить за 2 450 руб.

Обработка позволяет распознавать штрих-код и 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

См. также

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

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

15500 руб.

02.09.2020    181082    1004    403    

957

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

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    22235    149    82    

146

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

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

22200 руб.

06.10.2023    19658    51    19    

84

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

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

15000 руб.

10.11.2023    13297    55    33    

74

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    29871    101    48    

147

SALE! 30%

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

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

20400 руб.

31.05.2023    5462    4    4    

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

Генерация, всеже, интереснее: https://zxing.appspot.com/generator
Хоть Я для этих целей гугл использую.
3. tanat74 73 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 73 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 73 31.07.18 14:09 Сейчас в теме
(4) Спасибо за информацию. Поправил.
6. efin 31.07.18 18:30 Сейчас в теме
(0) Подскажите, пожалуйста, вот эта обработка на сервере передает путь к файлу в java-программу.
У меня картинка со штрихкодом хранится в реквизите типа ХранилищеЗначения, и мне не хочется выгружать ее в промежуточный временный файл.

В современной платформе 1С появились потоки. Может как-то можно передать картинку через память?
7. tanat74 73 03.08.18 09:45 Сейчас в теме
(6)Не знаю. Я совсем не разбираюсь в java, только методом тыка и аналогий сумел прикрутить через файл.
9. Bond 15.11.18 14:20 Сейчас в теме
скажите, какой формат файлов поддерживается?
конкретно интересует pdf
10. tanat74 73 20.11.18 12:49 Сейчас в теме
(9) не нашел точной информации, проверял jpg и bmp
pdf - думаю нет.
11. Bond 25.11.18 22:06 Сейчас в теме
скачал обработку (через посредника), но не хочет распознавать картинку...
через онлайн распознавалку ксинга (https://zxing.org/w/decode.jspx) распознает нормально..
в чем может быть проблема?
Прикрепленные файлы:
15. tanat74 73 28.11.18 12:56 Сейчас в теме
(11) Тестовый пример работает. и приложенный Вами файл тоже.
Создал абсолютно пустую - файловую базу на платформе 1С:Предприятие 8.3 (8.3.13.1513)
Прикрепленные файлы:
16. Bond 28.11.18 17:04 Сейчас в теме
(15) может требуются какие то дополнительные действия? регистрация длл или еще что то?
17. tanat74 73 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 73 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 73 24.04.19 12:41 Сейчас в теме
(20) Судя по тому что на сайте это работает, наверное как-то и тут можно. Но у меня пока не появлялось таких потребностей. Буду благодарен, если сообщите сюда, если что-то найдете.
22. borda4ev 16 08.07.19 13:57 Сейчас в теме
(21) Что бы выполнялось распознование нескольких штрих кодов, на одном изображении, нужно добавить параметр --multi
23. mvv1975 836 08.08.19 15:04 Сейчас в теме
Добрый день. Интересует, будет ли компонента работать на 64 разрядном сервере 1С?
24. tanat74 73 08.08.19 15:23 Сейчас в теме
(23) Проблем не должно возникнуть, там командной строкой вызывается java приложение.
29. пользователь 09.06.21 16:53
Сообщение было скрыто модератором.
...
30. tanat74 73 10.06.21 09:04 Сейчас в теме
(29) Здравствуйте.
Файлы в макетах обработки, обработка сама их достает во временный каталог.
Насколько вижу, у вас файл-картинка находиться по сети, у меня кажется так не получилось заставить работать. Попробуйте локально.
31. maxpiter 150 10.06.21 09:49 Сейчас в теме
(30) а вы можете этим 3 файла отдельно выложить? Я распрзнаю не из 1С 8.
С чего вы взяли что по сети? Хотя и по сети для java не должно быть проблем.
Полученная выше строка из отладчика 1Сного взята.
32. tanat74 73 10.06.21 10:05 Сейчас в теме
(31) файлы выложены в обработке, можете их от туда достать.
потому что у вас строка в конце: --try_harder file:////tmp/v8_79FK3k_60.jpg1"
maxpiter; +1 Ответить
33. maxpiter 150 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 73 10.06.21 12:18 Сейчас в теме
(33) Обработка работает в готовом виде, вы писали что переделываете не под 1Сv8 - вероятно тут какие то накладки. Попробуйте указывать файл как в обработке:
--try_harder file:///c:/w/ok1.jpg
35. maxpiter 150 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 73 10.06.21 12:33 Сейчас в теме
(35)
core.jar;javase.jar;commander.jar

перечисляя файлы, у вас нет j у commander. Проверьте имя файла в папке.
Прикрепленные файлы:
37. maxpiter 150 10.06.21 12:34 Сейчас в теме
(36) имена файлов правильные
Прикрепленные файлы:
38. maxpiter 150 10.06.21 12:37 Сейчас в теме
(36) охренеть, переименовал commander в jcommander и заработало, как так то
39. maxpiter 150 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 73 10.06.21 12:48 Сейчас в теме
(39) Качество и форматы распознавания можно проверить на тестовом сайте.
40. maxpiter 150 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 73 10.06.21 12:49 Сейчас в теме
(40) для определения конкретного вида шк есть специальный ключ, может он поможет:
--possible_formats CODE_128
maxpiter; +1 Ответить
43. Трактор 1265 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 17 29.11.23 18:02 Сейчас в теме
Нужна компонента для 1С, которая будет читать ШК, QR на pdf этикетках и возвращать его числовое значение. Для ПК. Шаблонов этикеток 5 штук. В рамках этих форматов положение ШК или QR не меняется. Вы можете помочь доработать вашу компоненту под такой запрос на коммерческой основе ?
45. tanat74 73 30.11.23 10:40 Сейчас в теме
(44) Здравствуйте. Нет не смогу.
46. serg_info 116 21.03.25 16:13 Сейчас в теме
А мы вот такой скрипт написали и сценарий применения можно почитать:

Распознование ШК в PDF
Оставьте свое сообщение