2010-08-17 9 views
14

Tengo escáneres Fujitsu fi-6130 TWAIN/ISIS que me gustaría activar desde un botón en una página web de jQuery Rails. No solo me gustaría que la página le diga al escáner que "vaya", también me gustaría cargar el archivo resultante a través de Paperclip una vez que se escanea la (única) página, idealmente sin requerir que el usuario navegue a través de un explorador de archivos. encuentra el archivo manualmente¿Cómo puedo disparar un escáner desde un navegador?

Cada escáner es usb conectado a un escritorio con Windows XP, aunque podemos reemplazar estos escritorios del centro de llamadas con Google Chrome OS.

Esta pregunta se hizo hace casi un año, pero las sugerencias recibidas principalmente requieren el uso de productos comerciales IE .NET que cuestan varios cientos de dólares - Interfacing with the end-user's scanner from a webapp (web/scanner integration)

+2

No es realmente posible interconectar un navegador con un escáner (maldito). Haga que el usuario escanee la imagen y cárguela. – tcooc

+0

Una forma de hablar con un escáner en un navegador es a través del control ActiveX (IE) o el complemento del navegador (Firefox, Chrome). por lo que sé, no existe un SDK de código abierto. es mejor gastar varios cientos de dólares que comenzar desde cero. TWAIN es el protocolo más popular para los controladores de escáner, y es difícil de descifrar – flysakura

+0

[scanner.js] (http://asprise.com/document-scan-upload-image-browser/direct-to-server-php-asp. net-overview.html) le permite invocar escáneres desde navegadores en Windows o Mac OS. Es un paquete comercial también. –

Respuesta

13

esto no es posible directamente desde un estándar HTML/JS página - js no tiene permisos para acceder a periféricos como escáneres.

Puede ser posible con flash o luz plateada, pero sospeche que podría golpear problemas de permisos. Hay artículos here y here pero puede ser a) demasiado complicado yb) no es lo que buscas.

Si el control de las máquinas de la aplicación web se ejecuta en, me gustaría recomendar el uso de un cliente de escritorio fácil de realizar la exploración y permitir las conexiones a la misma desde dentro de la página web mediante la apertura de un puerto local

por lo js hace una llamada AJAX a (por ejemplo) http://localhost:1234/Services/Scan que devuelve una imagen

Editar: en lo que respecta a la escritura el cliente de escritorio, tienes varias opciones. Personalmente recomiendo que no intentes hacer esto en PERL/PHP, ya que no parecen ser la herramienta adecuada para el trabajo y sospecho que terminarás cargando objetos COM para intentar acceder a los dispositivos TWAIN (y todos saber lo divertido que es ...)

En los comentarios, has indicado que no te gusta Visual Studio - Entonces, si estás familiarizado con Java, te sugiero que eches un vistazo a JTwain (comercial, pero parece ser de buena calidad) o comienza a leer here. NB: No soy un desarrollador frecuente de Java, por lo que no puedo garantizar que cualquiera de los anteriores sea exactamente lo que necesita.

Más allá de eso, me gustaría sugerir C++ utilizando un IDE diferente (aunque esto no sería OS-agnóstico)

+0

El programa que se configura para usar como proxy un subconjunto de la API del escáner como servicio web probablemente se haya escrito más de unas pocas veces ... De hecho, me sorprende que los proveedores de escáneres no proporcionen uno para los escritorios populares. Apuesto a que una fracción significativa de los clientes de escáners de gama alta lo quiere. ¿Alguien sabe de una de las estanterías? –

+0

No lo hago, pero ahora estoy tentado de escribir uno :) – Basic

+0

Me puse en contacto con Fujitsu por correo electrónico, chat y teléfono. No tienen esa utilidad para ningún sistema operativo de escritorio, aunque me aseguré de que noten mi solicitud, y les sugerí que respondieran directamente a esta pregunta de Stackoverflow. Preferiría escribir un relevador de escáner a socket de audio en un idioma familiar para mí, pero Ruby y Python deben instalarse por separado en Windows. Los programas C++ deben ser producidos en ese maldito Visual Studio. Un lenguaje nativo de script de Windows sería mejor desde la perspectiva del soporte de un centro de llamadas, pero no conozco ninguno. Y luego el proxy funcionaría solo mientras usemos Windows. –

1

Se puede utilizar un applet firmado, el uso de una biblioteca como MMS de computación. Puede verlo en uso en un applet en la base de código OpenKM.

11

Existe una solución llamada Dynamic Web TWAIN from Dynamsoft que proporciona un TWAIN SDK basado en navegador para adquirir imágenes de dispositivos TWAIN y editarlas y guardarlas en bases de datos remotas.

1

Parece que hay un kit de herramientas Web API disponible para los escáneres de la serie Fujitsu fi. Básicamente es una aplicación que instala en la máquina cliente donde el escáner acepta llamadas a través de JSON o Silverlight y las envía a los controladores del escáner.

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

acabo descargado y estoy leyendo a través de los documentos, así que no puedo dar fe de que funciona.

2

Como se menciona @Basic, JTwain se puede utilizar para crear una solución de este tipo.De hecho, el desarrollador de JTwain ha creado ScannerJS that allows one to scan directly from browsers like IE, Chrome and Firefox using JavaScript. Con el fin de utilizarlo en sus páginas web, necesita:

Incluir scanner.js:

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

y llamar 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

es scanner.js y el software es gratuito para usos básicos de muy bajo nivel. – nilesh

+0

"De hecho, el desarrollador de JTwain ha creado ..." ¿Hay alguna razón por la que estés hablando de ti en tercera persona? – Basic

Cuestiones relacionadas