Как я могу запустить сканер из браузера?

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

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

Этот вопрос задавали почти год назад, но в основном получали предложения, требующие использования коммерческих продуктов IE.NET стоимостью в несколько сотен долларов - Взаимодействие с сканером конечного пользователя с webapp (интеграция с веб-сканером)

Ответы

Ответ 1

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

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

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

поэтому js вызывает вызов AJAX (скажем) http://localhost:1234/Services/Scan, который возвращает изображение

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

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

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

Ответ 2

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

Ответ 3

Как отметил @Basic, JTwain можно использовать для создания такого решения. Фактически разработчик JTwain создал ScannerJS, который позволяет сканировать непосредственно из браузеров, таких как IE, Chrome и Firefox, используя 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
        }
    }
]
}

    );
    }

Ответ 4

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

Ответ 5

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

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

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