2010-08-17 3 views
14

У меня есть сканеры Fujitsu fi-6130 TWAIN/ISIS, которые я хотел бы запускать с помощью кнопки на веб-странице jQuery Rails. Мало того, что мне нравится, когда страница сканирует сканеру «идти», я также хотел бы загрузить полученный файл через Paperclip после сканирования (одной) страницы - в идеале, не требуя от пользователя навигации виджета файлового проводника до найдите файл вручную.Как я могу запустить сканер из браузера?

Каждый сканер является usb, подключенным к рабочему столу Windows XP, хотя мы можем заменить эти настольные компьютеры для центров обработки вызовов на Google Chrome OS.

Этот вопрос был задан почти год назад, но, главным образом, полученные предложения, требующие использования коммерческих продуктов IE .NET, которые стоят несколько сотен долларов - Interfacing with the end-user's scanner from a webapp (web/scanner integration)

+2

Его не представляется возможным интерфейс браузера с помощью сканера (штопать). Попросите пользователя самостоятельно сканировать изображение и загрузить его. – tcooc

+0

Один из способов поговорить со сканером в браузере - через элемент управления ActiveX (IE) или плагин браузера (Firefox, Chrome). насколько я знаю, такого открытого SDK с открытым исходным кодом нет. лучше потратить несколько сотен долларов, чем начать с нуля. twain - самый популярный протокол для драйверов сканера, и его трудно взломать – flysakura

+0

[scanner.js] (http://asprise.com/document-scan-upload-image-browser/direct-to-server-php-asp. net-overview.html) позволяет вызывать сканеры из браузеров в Windows или Mac OS. Это тоже коммерческий пакет. –

ответ

13

Это не представляется возможным непосредственно из стандарта HTML/JS page - js не имеет прав доступа к периферийным устройствам, таким как сканеры.

Возможно, это будет возможно с использованием вспышки или серебристого света, но вы подозреваете, что у вас есть проблемы с разрешениями. Есть статьи here и here, но это может быть a) слишком занято и b) не совсем то, что вам нужно.

Если вы контролируете машины веб-приложение будет работать на, я бы рекомендовал использовать простой клиент рабочего стола, чтобы выполнить сканирование и позволяет подключение к нему изнутри веб-страницы, открыв локальный порт

так JS делает вызов AJAX для (скажем) http://localhost:1234/Services/Scan, который возвращает изображение

Edit: Что касается написания настольного клиента, у вас есть несколько вариантов. Я лично рекомендую вам не пытаться сделать это в PERL/PHP, поскольку они, похоже, не являются подходящим инструментом для этой работы, и я подозреваю, что вы в конечном итоге загрузите COM-объекты, чтобы попытаться получить доступ к устройствам TWAIN (и все мы знаете, сколько удовольствия это ...)

В комментариях вы указали, что вам не нравится Visual Studio. Поэтому, если вы знакомы с Java, я бы предложил вам посмотреть JTwain (коммерчески, но, кажется, хорошего качества) или начните читать here. NB: Я не являюсь частым разработчиком Java, поэтому не могу гарантировать, что ни одно из указанных выше - это именно то, что вам нужно.

Кроме того, я хотел бы предложить C++, используя другой IDE (хотя это не будет OS-агностик)

+0

Программа, которая настроена на прокси-сервер подмножества api сканера как веб-службы, вероятно, написана более чем несколько раз ... На самом деле, я удивлен, что производители сканеров не поставляют один для популярных настольных компьютеров. Я готов поспорить, что значительная часть клиентов для высокопроизводительных сканеров этого захочет. Кто-нибудь знает об одном готовом? –

+0

У меня нет, но теперь я соблазн написать один :) – Basic

+0

Я связался с Fujitsu по электронной почте, чату и телефону. У них нет такой утилиты для любых настольных компьютеров, хотя я убедился, что они отметили мой запрос, и предложили, чтобы они ответили непосредственно на этот вопрос Stackoverflow. Я бы предпочел написать ретранслятор сканера для прослушивания на знакомом мне языке, но Ruby и Python должны быть установлены отдельно в Windows. Программы C++ должны создаваться в этой проклятой Visual Studio. Естественный язык сценариев Windows был бы лучше с точки зрения центра обработки вызовов, но я не знаю. И тогда прокси-сервер будет работать только до тех пор, пока мы будем использовать Windows. –

1

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

11

Существует решение под названием Dynamic Web TWAIN from Dynamsoft, которое предоставляет основанный на браузере TWAIN SDK для получения изображений с устройств TWAIN и редактирования и сохранения их в удаленных базах данных.

1

Возможно, имеется набор инструментов веб-API для сканеров серии Fujitsu. В основном приложение, которое вы устанавливаете на клиентской машине, где сканер принимает вызовы через JSON или Silverlight и отправляет их драйверам сканера.

http://uk.emc.com/enterprise-content-management/captiva/cloud-toolkit.htm

Я просто скачал его и читаю корыта документы, так что не могу ручаться это работает.

2

Как указано @Basic, JTwain можно использовать для создания такого решения.Фактически, разработчик JTwain создал ScannerJS that allows one to scan directly from browsers like IE, Chrome and Firefox using JavaScript. Для того, чтобы использовать его в ваших веб-страниц, вам необходимо:

Включите scanner.js:

<html lang="en"><head> 
<script src="//asprise.azureedge.net/scannerjs/scanner.js" type="text/javascript"></script> 

и называют scanner.scan:

function scanToWebPageAndUploadToWebServer() { 
    scanner.scan(displayImagesOnPage, 
{ 
"twain_cap_setting": { 
    "ICAP_PIXELTYPE": "TWPT_GRAY", 
    "ICAP_XRESOLUTION": "200", 
    "ICAP_YRESOLUTION": "200" 
}, 
"prompt_scan_more": true, 
"discard_blank_pages": "false", 
"blank_page_threshold": "0.02", 
"output_settings": [ 
    { 
     "type": "return-base64-thumbnail", 
     "format": "jpg", 
     "thumbnail_height": 200 
    }, 
    { 
     "type": "upload", 
     "format": "pdf", 
     "pdf_force_black_white": "false", 
     "pdfa_compliant": "false", 
     "pdf_text_line": "By ${USERNAME} on ${DATETIME}", 
     "exif": { 
      "DocumentName": "Doc Scan Powered by Asprise.com", 
      "UserComment": "Scanned using Asprise software" 
     }, 
     "upload_target": { 
      "url": "https://asprise.com/scan/applet/upload.php?action=dump", 
      "max_retries": 2, 
      "post_fields": { 
       "provider": "Asprise" 
      }, 
      "cookies": "name=Asprise; domain=asprise.com", 
      "auth": "user:pass", 
      "headers": [ 
       "Referer: http://asprise.com" 
      ], 
      "log_file": "null", 
      "max_operation_time": 600 
     } 
    } 
] 
} 

    ); 
    } 
+0

- это scanner.js, и программное обеспечение бесплатно для базовых применений с низким уровнем доступа. – nilesh

+0

«На самом деле разработчик JTwain создал ...» По какой-то причине вы говорите о себе в третьем лице? – Basic