Загрузка по штрих-коду отсканированных файлов в 1С

02.09.15

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

В этой публикации я хочу рассказать о примерах.
1. Чтение штрих-кодов с изображений. Как можно преобразовывать изображения для лучшего считывания штрих-кодов.
2. Распознавание текста на изображении.
3. Отображение прогресса при выполнении кода на сервере.

Скачать исходный код

Наименование Файл Версия Размер
Внешняя обработка для загрузки
.epf 14,22Kb
54
.epf 14,22Kb 54 Скачать
Отчет по прикрепленным
.erf 7,49Kb
14
.erf 7,49Kb 14 Скачать

Для чего это можно использовать? Например:

 

  1. Менеджеры сдают в бухгалтерию первичные документы: оригиналы счетов-фактур, товарных накладных, актов, ТТН и т.д. Бухгалтерия проверяет оформление первичных документов и отмечает, что комплект документов сдан менеджером. Контроль сданных первичных документов лежит на бухгалтере и отнимает ресурсы. Решение: присоединенные по штрихкоду отсканированные документы можно контролировать, сформировав отчет.

 

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

 

Используемое ПО:

 

Платформа 8.3.6.2152

Конфигурация Управление торговлей, редакция 11.1 (11.1.10.94)

Сервер 1С x32  Linux Debian

Серыер СУБД x64 Postgresql 9.2


Необходимые пакеты на сервере 1С под Linux.

  1. ImageMagick 6.7.7-10 2014-03-08 Q16 http://www.imagemagick.org. С помощью ImageMagick будем выполнять преобразования изображения.
    Для установки ImageMagick выполнить команду в терминале sudo apt-get install imagemagick

  2. Zbarimg. http://zbar.sourceforge.net/. Чтение штрих-кодов на изображениях.

  3. Tesseract OCR 0.10 https://code.google.com/p/tesseract-ocr/
    С этим пакетом мы будем распознавать текст на изображении, если штрих-код по какой-либо причине не прочитался, попытаемся распознать номер документа.
    Для установки выполнить команду в терминале sudo apt-get install tesseract-ocr. Для поддержки русского языка нужно скачать со страницы https://code.google.com/p/tesseract-ocr/downloads/list пакет Russian Language Data for Tesseract. В моем случае это https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz.
    Качаем на сервер 1С, выполнив команду:
    wget https://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.rus.tar.gz
    С помощью Midnight Commander копируем содержимое папки tessdata архива в папку /usr/share/tesseract-ocr/tessdata/.

  4. GPL Ghostscript 9.05 (2012-02-08) debian :-( http://www.ghostscript.com/
    Будем конвертировать страницы из PDF файла в картинку JPG. Поставляется с системой.

 

Подготовка.

 

  1. Создаем общий ресурс на файловом сервере и монтируем его к каталогу на сервере 1С, потому что на сервере под Linux мы можем использовать только локальные пути. Создадим каталог на сервере 1С:

    mkdir /mnt/share/

    И примонтируем общий ресурс:

    mount -t cifs -o username=DOMAIN\\USER,password=PASSWORD,dir_mode=0777,file_mode=0777 //192.168.x.x/SHARE/ /mnt/share/

    Выделенное нужно подменить на необходимые значения.

    Для автоматического монтирования при перезагрузке сервера нужно эту команду прописать в файл /etc/rc.local.

 

  1. Настроим сканер: сохранение файлов на общий ресурс и качество сканирования: цветное; 400х400 dpi; Текст; PDF; Качество высокое.

  2. Сканируем документы. В моем примере документы сканируются комплектом по каждой реализации товаров. Соответственно в одном файле комплект к одной реализации товаров. Это счет-фактура, торг-12, акт, ТТН, доверенность. Счет-фактура кладется сверху, поэтому штрихкод мы будем считывать с нее.


Обработка в 1С.

Запуск обработки

Обработка подключается как дополнительная. Реализован запуск фонового задания, чтобы пользователь мог выполнять другую работу. Также реализовано отображение прогресса. Полный код, считаю, приводить бессмысленно, т.к. можно посмотреть в БСП. В двух словах - как это сделано.

 

Запуск фонового задания и отображение прогресса позаимствованы из библиотеки стандартных подсистем (2.3.1.75). Запускается фоновое задание с помощью метода: ДлительныеОперации.ВыполнитьПроцедуруМодуляОбъектаОбработки. Пример реализации запуска фонового задания можно посмотреть в обработке БСП “ГрупповоеИзменениеРеквизитов”.

Отображение прогресса реализовано с помощью подключения обработчика ожидания и вызова метода ДлительныеОперации.СообщитьПрогресс и ДлительныеОперации.ПрочитатьПрогресс. Пример в обработке БСП “УдалениеПомеченныхОбъектов”.

 

Теперь об обработке отсканированных файлов.

Работа обработки

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

Приступим.

Сконвертируем первую страницу pdf файла в jpg и будем работать уже с jpg файлом. Так удобнее.


gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r400 -sPAPERSIZE=a4 -sOutputFile=out.jpg in.pdf


В 1с вызываем так:

ЗапуститьПриложение("gs -q -sDEVICE=jpeg -dBATCH -dNOPAUSE -dFirstPage=1 -dLastPage=1 -r400 -sPAPERSIZE=a4 -sOutputFile=" + ВремФайл + " " + Файл.ПолноеИмя, , Истина). Где ВремФайл - куда (jpg), а Файл.ПолноеИмя - откуда (pdf).


Параметры для gs. (Подробно тут: http://www.ghostscript.com/doc/9.06/Use.htm):

-q ‘quiet’ - уменьшает количество выводимых сообщений.

-sDevice - Выбор устройства, которое будет сохранять или отображать результат. Список доступных можно посмотреть в справке: gs --help.

-dBATCH -dNOPAUSE - Отключение интерактивного взаимодействия.

-dFirstPage=1 -dLastPage=1 - Страницы с и по.

-r400 - Разрешение изображения. Т.к. мы сканируем в 400DPI, то и конвертируем в такое же разрешение.

-sPAPERSIZE - Зададим формат листа.

-sOutputFile - Результирующий файл

 

Так как счет-фактура печатается в альбомной ориентации, а сканируется в портретной, то полученный jpg файл повернем на 90 градусов против часовой стрелки:

 

ЗапуститьПриложение("MAGICK_THREAD_LIMIT=1 convert -rotate -90 " + ВремФайл + " " + ВремФайл, , Истина);

 

MAGICK_THREAD_LIMIT - ставим ограничение на использование процессора чтобы не слишком сказывалось на работе пользователей в 1с.

-rotate -90  - поворот на 90 градусов против часовой стрелки.

 

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

 Обрезка штрихкода и номера

ЗапуститьПриложение("MAGICK_THREAD_LIMIT=1 convert -strip " + ВремФайл + " -crop 1200x450+200+80 +repage " + ИмяВременногоФайлаИзображенияКроп, , Истина);

-strip - не сохраняем данные профиля изображения.

-crop - область для вырезки. 1200х450 это размер вырезаемого изображения в пикселях. +200+80 это координаты, откуда отсчитывать размер вырезаемого изображения. Эти значения привязаны к разрешению изображения. Область для вырезки нужно взять с небольшим запасом, т.к. документы не всегда ровно захватываются податчиком на сканере или пользователь не аккуратно положит их.

+repage - После вырезки размер канваса оригинального изображения не изменяется. Этим параметром устанавливаем размер канваса к вырезанному размеру. Это как shrink БД.

 

Приступим к чтению штрихкода. Тут все просто. Zbarimg читает штрихкод и выводит результат в xml-файл.

 

ИмяВременногоФайлаXML = ПолучитьИмяВременногоФайла("xml");

ЗапуститьПриложение("zbarimg -q --xml " + ИмяФайлаИзображения + " > " + ИмяВременногоФайлаXML, , Истина);

 

Через ЧтениеXML считываем распознанный штрихкод из xml файла. Если считать штрихкод не удалось, например, плохое качество печати или сканера, присутствует шум на изображении, то попробуем уменьшить негативные факторы. Тут к нам на помощь приходит imagemagick с параметром motion-blur. Он сглаживает изображение сдвигая его под указанным углом. Подробнее тут http://www.imagemagick.org/Usage/blur/. Мы будем двигать вертикально.

 Blur штрихкода

ЗапуститьПриложение("MAGICK_THREAD_LIMIT=1 convert -strip -motion-blur 10x30-90 " + ИмяВременногоФайлаИзображенияКроп + " " + ИмяВременногоФайлаИзображенияБлур, , Истина);

 

-motion-blur radiusxsigma+angle - РадиусXОтклонение-Угол. С этими параметрами нужно экспериментировать.

И снова попытаемся считать штрихкод с помощью zbarimg из ИмяВременногоФайлаИзображенияБлур. Если считать не получилось, то пробуем распознать номер документа с помощью Tesseract OCR. Сначала вырежем область номера документа из изображения чтобы уменьшить количество распознаваемых символов и как следствие различного мусора в тексте.

Кроп номера

ЗапуститьПриложение("MAGICK_THREAD_LIMIT=1 convert -strip " + ИмяВременногоФайлаИзображенияКроп + " -crop 800x150+400+300 +repage " + ИмяВременногоФайлаИзображенияКроп, , Истина);

Сконвертируем в grayscale. Так лучше отрабатывает tesseract.

ЗапуститьПриложение("MAGICK_THREAD_LIMIT=1 convert " + ИмяВременногоФайлаИзображенияКроп + " -colorspace gray " + ИмяВременногоФайлаИзображенияКроп, , Истина);

И пробуем распознать номер

ЗапуститьПриложение("tesseract " + ИмяВременногоФайлаИзображенияКроп + " " + ИмяВременногоФайлаТекст, , Истина);

ИмяВременногоФайлаТекст - Текстовый файл для вывода результатов.


Распознанный текст

И тут мы должны найти в тексте номер документа. Я сделал так. Считываем построчно текст из файла. Каждую строку разбиваем на массив подстрок и проверяем элемент массива на длину. Номера счетов-фактур у нас содержат дату и номер. например: ТР1507250003. Если длина подходит, то пробуем найти документ по номеру.

Контроль присоединенных файлов можно выполнить с помощью отчета, который выбирает документы, если в присоединенных файлах отсутствует файл содержащий в наименовании определенный текст. Например “Комплект документов”. Это наименование мы задаем при присоединении файла к документу.

Отчет

Предлагаемая обработка без доработок подойдет не каждому, т.к. многое зависит от качества принтера, сканера и нумерации документов. Поэтому смотрите идеи и дорабатывайте под себя. Нужно отметить, что процент считываемых штрихкодов очень высок! И вообще переходите на электронный документооборот.

штрихкодирование linux imagemagick tesseract ocr

См. также

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135569    729    291    

391

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68852    181    139    

111

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20628    136    38    

94

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46784    199    64    

162

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67768    41    123    

46

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34441    81    58    

78

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9306    9    8    

11

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 09.04.2024, версия 9.9 - 9.10)

14400 руб.

20.11.2015    151444    367    376    

503
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2843 02.09.15 13:50 Сейчас в теме
Это хорошо (: У самого на уме такая же система только под windows как раз на zbar. Только в моем случае штрихкод уникален для каждого документа (точнее для каждой печ.формы документа). Штрихкод на каждой странице. Что это даёт? А то, что можно запихнуть пачку документов в потоковый сканер.
Вы, я так понимаю, используете простой сканер?


2. parshin 78 03.09.15 06:03 Сейчас в теме
(1) anig99,
Используем МФУ Kyocera 1135. Много туда не запихнёшь плюс не на всех печатных формах есть штрихкоды. Ну это только начало. Хотел поделиться идеями :-)
3. user722577 03.04.18 13:33 Сейчас в теме
JPG распознает норм, а при попытке распознать pdf выдает следующее:

zbarimg.exe: `%s': %s "gs" -q -dQUIET -dSAFER -dPARANOIDSAFE -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=0 "-sDEVICE=pnmraw" -dTextAlphaBits=4 -dGraphicsAlphaBits=4 "-r72x72" "-sOutputFile=C:/Users/Tsybizov/AppData/Local/Temp/magick-5mpt_501" "-fC:/Users/Tsybizov/AppData/Local/Temp/magick-VEk5vZUp" "-fC:/Users/Tsybizov/AppData/Local/Temp/magick-aVIF7DrV" @ utility.c/SystemCommand/1881.
ERROR: PostscriptDelegateFailed `F:\123.pdf': No such file or directory @ pdf.c/ReadPDFImage/611

Кто-нибудь может подсказать, в чем трабла?
4. user653054_ghevsam 28.05.18 11:58 Сейчас в теме
А это будет работать для платформы 8.2?
5. starik-2005 3036 28.05.18 12:55 Сейчас в теме
Я в свое время игрался с GOCR, который умеет даже UPC-128 распознавать, при этом он также умеет это все в XML выводить, что упрощает анализ. Я брал документ, отсканированный с разрешением 600 dpi, распознавал его, если ШК не было - крутил его imagemagick'ом на 90/270/180 градусов. Работало достаточно быстро, кстати. И ничего не вырезал, но если вырезать, то, полагаю, еще быстрее бы получилось обрабатывать.
6. GrafB 10 19.03.19 13:20 Сейчас в теме
добрый день, столкнулся с такой проблемой:
ЗапуститьПриложение("""C:\Program Files (x86)\ZBar\bin\zbarimg.exe"" -q --xml """ + ВремФайл + """ > """ + ВремФайлХМЛ + """",,Истина) чёрное окошко пробегает, но файл хмл не появляется. Отладчиком получаю подготовленный код, вставляю в командную строку, всё срабатывает. если вставляю в батфайл и делаю ЗапуститьПриложение(БатФайл,, Истина), то тоже срабатывает.
7. starik-2005 3036 19.03.19 13:50 Сейчас в теме
(6) как в вашей винде все сложно-то!!! ))) Установи zbarimg в каталог с латинским названием пути и без пробелов.
8. GrafB 10 19.03.19 14:57 Сейчас в теме
(7) и это не смотря на то что "ЗапуститьПриложение("""C:\Program Files\ImageMagick-7.0.8-Q16\magick.exe"" ..." отрабатывает без проблем?
9. GrafB 10 21.03.19 11:45 Сейчас в теме
нет ни у кого идей? пришлось пока через батник сделать, его 1с без проблем запускает и результат появляется.
10. parshin 78 21.03.19 12:21 Сейчас в теме
(9) Идей нет. Но есть подобная реализация. Батник сначала распознает штрихкод. Потом файл идет на обработку где происходит оптимизация (уменьшение размера и качества до читабельного варианта. ШК ведь уже распознан). Обработанный файл кладется в отдельный каталог из которого 1С его забирает к себе и удаляет исходный файл. Батник работает по расписанию не зависимо от 1с. В 1С настроена регламентная задача для загрузки.
starik-2005; +1 Ответить
11. edd_n 05.03.23 09:19 Сейчас в теме
Странно, но команду ЗапуститьПриложение("zbarimg -q --xml " + ИмяФайлаИзображения + " > " + ИмяВременногоФайлаXML, , Истина); 1с на Win10 не отрабатывает. Возможно, с перенаправлением что-то не так. >> - Так ?
12. edd_n 05.03.23 09:23 Сейчас в теме
Так в Винде работает:

  ИмяФайлаИзображения = "C:\Users\Eduard\act_1.jpg";
    ИмяФайлаРаспознования = "C:\act_1.txt";
	
	ПутьКПрограммеРаспознованияШтрихкода = "C:\Program Files (x86)\ZBar\bin\";	
    СтрокаЗапуска = "cmd /c zbarimg.exe --raw   """ + ИмяФайлаИзображения + """ >> """ + ИмяФайлаРаспознования + """";
    КодВозврата = 0;                  
    ЗапуститьПриложение(СтрокаЗапуска, ПутьКПрограммеРаспознованияШтрихкода, Истина, КодВозврата);
Оставьте свое сообщение