Как стать автором
Обновить

Комментарии 51

а можно как нибудь обрабатывать кнопку сканера на МФУ HP M1522n подключенному по сети?
Надо экспериментировать, смотря как он будет представлен в системе, если в реестре он есть как Imaging device и раздел Event содержит кнопки, то можно и даже этим скриптом.
Аналогичный вопрос по Epson GT-2500.
А где конкретно искать в реестре? И есть такое ощущение, что сканер передаёт информацию о нажатии на кнопку только по USB :(
HKLM\System\CurrentControlSet\Control\Class\ Ищем класс «Устройства обработки изображений» / «Imaging devices», а там уже ищем свое устройство.
В стародавние времена на HP 3050 удавалось это сделать, но все равно выходит не очень надежно. Лучше всего использовать МФУ c функцией сетевого сканера или hp digital sender 9200 стоит дороговато но он того стоит.
НЛО прилетело и опубликовало эту надпись здесь
Поставил старый терминал на VIA C3 под XP в качестве сервера подключил по USB, загрузка с флешки 2GB. Вообщем то было удобно там же не просто скан там ещё и можно выбирать адреса куда сканировать на самом МФУ (но больше 5-10 выбирать всетаки не удобно там однострочный дисплей был кажется). Из допила пришлось написать програмку которая следит чтобы сервис висящий в трее висел или в случае вылета перезапускался (очень нестабильный родной софт был) ну и что то там ещё с перехватом окон и простановкой галок делал потому что какието настройки все время сбивались. В 2005 году это произвело фурор и так облегчило всем что через полгода руководство дало добро на покупку HP DS 9200 который по функционалу в те годы был просто неземным девайсом.
кнопка работает и при ethernet-подключении, но крайне нестабильно.
C кнопкой не удалось, scanimage в моей сборке говорит unrecognized option '--wait-for-button'.

Но я реализовывал сканирование для этого же МФУ со складыванием в сетевую папку вот так — habrahabr.ru/blogs/linux/82756/
До сих пор работает =)
Избавиться от моргания консольного окна. Кто знает как, подскажите пожалуйста.
Отсюда ничего не подойдет?
К сожалению нет, нужен способ в коде указать, чтобы исполняемый файл не создавал окон.
Уточните, какой именно файл не должен создавать окон?
Если iCopy — тогда давайте его запускать примерно так:

scan_app=hidcon.exe «C:\Program Files\iCopy\iCopy.exe» /f:"\\server\scanned\$date$.jpg" /r:150
scan.exe который получаем после компилятора из scan.js
Круто, спасибо, добавлю в пост.
>В Linux эта задача решается парой строк кода и замечательной утилитой Sane.

По ссылке реализован не совсем оптимальный вариант. Если помимо sane использовать еще scanbuttond, то можно на разные кнопки сканера повесить разные действия. Например — цветной или ч/б скан, формат файла PDF/jpeg, да хоть аварийное выключение компьютера :)
где можно почитать о ч/б сканировании? Что за аппарат? кого запускает scanbuttond, чтобы монохромно сканировать?
1) man scanimage на предмет строки "--mode Lineart|Gray|Color"
2) Epson Perfection 2400 Photo
3) scanbuttond запускает скрипт /etc/scanbuttond/buttonpressed.sh, передавая ему первым параметром номер нажатой кнопки, а вторым название устройства. В /etc/scanbuttond/buttonpressed.sh.exapmle находится пример скрипта. У меня он сканирует tiff размером A4 через scanimage, конвертит его в jpeg и уменьшает его размер через convert из ImageMagick и скидывает на шару в виде файла outXXXX.jpg, где XXXX — максимальный существующий на шаре номер + 1.
Друзья закупили кучу МФУ hp M1212nf_MFP, в надежде сканировать по сети. Как оказалось утилита для сканирования будт сканировать только с того МФУ который был установлен в систему последний. В итоге пришлось слепить маленький сервер с debian и прикрутить к нему связку из hplip и самописного скрипт на php который сканит в папку доступную по http и samba.

В техподдержке HP сказали что проблема не решаема, т.ч. друзья стали закупать какие-то kyocera которые сами умеют на сетевую шару сканировать.
Kyocera 1128MFP — проще вроде нет устройств 3\4в1 — безо всякого софта сканирует в сетевую папку, на почту, есть адресная книга, нормально работает доменными аккаунтами… при необходимости легко настраивается через web интерфейс.
да, иногда проще и намного эффективнее потратиться на хорошую железку, чем делать очередной костыль.
Kyocera KM-5050 отличная машинка.
Я делал аналогичную фигню, только вывод scanimage шел прямо по http. Пользователь как-бы «скачивал» файл по мере сканирования.
В случае с M1212nf_MFP scanimage не работал, пришлось делать на hp-scan
А XEROX под свои аппараты уже готовые решения такого рода продает, конкретно сканирование в сетевую папку с уникальным именем. Неужели подобного нет для аппаратов конкурентов ксерокса? Или ищем дешевый путь?
Есть, тот же Gestetner. Например, SP3400SF
Вот чего только не придумают, чтобы не покупать HP Digital Sender…
Ну не все готовы тратить 4-5 тысяч долларов на сканер.
Есть кстати скансервер Axis 7000 и стоит в 4 раза дешевле.
Ну, на самом деле, 4-5 килобаксов для средней конторы — копейки. Кресло гендира, как правило, дороже :)
Да и как правильно заметили — есть и более дешевые решения. А вот городить огород с линуксами — это уже «экономия на туалетной бумаге», ИМХО.
Ну не для всех копейки. У моих друзей в конторе порядка 10-ти мфу-шек, которые должны сканить по сети. Взяли они hp1212nf плюс я им слепил вебморду которая крутится на виртуалке. в итоге люди сэкономили эти самые 40 000 долларов без особых трудозатрат.

Мне кажется ненадо быть таким упертым моноплатформщиком, если задачу проще решить на другой платформе то стоит обратить на нее внимание.
не могу побороть iCopy — отказывается разрешение выставлять командной строкой. Полностью игнорирует все кроме первого параметра. Берет значения только из своего конфига iCopy.settings.

может кто сталкивался?
а просто из командной строки воспринимает?
нет. даже и не знаю на что думать.
У меня как оказалось iCopy тоже не воспринимает некоторые параметры командной строки. Решил ситуацию созданием 2х папок с iCopy (iCopy_low и iCopy_high) в которых уже в файлах конфигурации поменял настройки на нужные мне. Соответственно запускаю по разным кнопкам iCopy из разных папок.
Позвольте поинтересоваться, как вы настроили сканирование всей площади? У меня сканируется небольшой прямоугольник с угла. Сканер Canon MF4018. Через iCopy.settings я смог настроить только глубину цвета и разрешение.
Отказался от него вообще в пользу IrfanView.
и подскажите, как вы побороли потерю фокуса текущим окном, при старте iCopy по нажатию кнопки на сканере?
Можно изменить параметр запуска в wsh.Run на более подходящий. Вроде выставлял такой чтобы фокус не терялся.
дайте почитать варианты.
Какая модель вашего сканера?
hp sj 2400
Фокус отбирает точно wsh.Run, думаю как решить эту проблему.
вот решение:

wsh.Run(get_ini_value("config.ini", "scan_app"),6);

сейчас поправлю в исходниках
НЛО прилетело и опубликовало эту надпись здесь
Системное администрирование… лол :)
Хм, сканирую в сентябре, а в имя файла ставится 08 месяц. В конфиге прописано имя файла с переменной $date$.
Наблюдается такая же проблема, решение пока ищу, но не усердно, потому что жить не мешает.
У меня прилага делает это сама с помощью ключей reg, unreg, достаточно было взглянуть на исходники

Перевыложите, пожалуйста, архив scan.7z

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации