Los sistemas modernos de procesamiento de documentos están cada vez más integrados con dispositivos periféricos para obtener copias digitales de medios en papel. La clave para desarrollar estas soluciones reside en la elección de un protocolo de interacción con un escáner de imágenes/documentos. En este artículo, analizaremos los principales estándares, evaluaremos sus ventajas y limitaciones, y consideraremos cómo implementar su compatibilidad mediante
VintaSoft TWAIN .NET SDK.
1. Escaneo de documentos con escáneres TWAIN
TWAIN es un estándar que define un protocolo de software y una API (interfaz de programación de aplicaciones) para la comunicación entre aplicaciones de software y dispositivos de imagen, como escáneres y cámaras digitales.
TWAIN es un estándar y, por lo tanto, garantiza la uniformidad de la interacción entre diferentes dispositivos y aplicaciones, simplificando el desarrollo y el uso de software para trabajar con imágenes.
1.1. Sistemas operativos compatibles
El estándar TWAIN es compatible con los sistemas operativos Windows, Linux y macOS.
1.2. Disponibilidad de un controlador de dispositivo
Para trabajar con un dispositivo TWAIN, debe instalar un controlador TWAIN en el sistema operativo.
El controlador TWAIN para un escáner de imágenes en la mayoría de los casos es desarrollado por el fabricante del escáner de imágenes; gracias a esto, el controlador TWAIN proporciona acceso a todas las capacidades del escáner de imágenes y se garantiza la máxima velocidad de trabajo con el escáner de imágenes.
El estándar TWAIN es el estándar más popular y básico para trabajar con escáneres de imágenes en el sistema operativo Windows. Casi todos los escáneres de imágenes tienen un controlador TWAIN para Windows.
Por el momento, los empleados de VintaSoft han visto controladores TWAIN realmente funcionales para Linux solo de Kodak.
Los empleados de VintaSoft no saben nada sobre la existencia de controladores TWAIN para macOS para escáneres de imágenes modernos. En los foros de Apple, puede encontrar información sobre la suspensión oficial del estándar TWAIN en su sistema operativo macOS alrededor de 2019.
1.3. Transferencia de una imagen desde un escáner a una aplicación cliente
El estándar TWAIN define tres modos para transferir una imagen escaneada desde un escáner a una aplicación cliente. El modo "Nativo" permite transferir una imagen como un objeto de mapa de bits de Windows. El modo "Memoria" permite transferir una imagen a través de la memoria, es decir.Los datos se transfieren como una matriz de bytes que contiene datos de imagen "sin procesar" o codificados (por ejemplo, CCITT4 o JPEG). El modo "Archivo" permite guardar la imagen escaneada directamente en un archivo. La presencia de tres modos permite seleccionar el que mejor se adapte a la lógica de la aplicación cliente y logre el máximo rendimiento y flexibilidad.
1.4. Trabajando con las capacidades del escáner de imágenes
El estándar TWAIN contiene más de 700 páginas de texto y describe con gran detalle la interacción entre el controlador TWAIN y la aplicación. El estándar TWAIN permite trabajar con casi todas las funciones de un escáner de imágenes.
1.5. La velocidad del escáner de imágenes
Usar el estándar TWAIN proporciona una excelente velocidad de trabajo con un escáner de imágenes/documentos.
1.6. Soporte tecnológico
El estándar TWAIN es desarrollado por el "TWAIN Working Group" (sitio web
https://twain.org), una organización sin fines de lucro que apoya y desarrolla el estándar TWAIN. Este grupo incluye a varios fabricantes de escáneres de imágenes y empresas de desarrollo de software.
2. Escaneo de documentos con escáneres SANE
SANE (Scanner Access Now Easy) es una interfaz de programación de aplicaciones (API) de código abierto que proporciona una interfaz estandarizada para acceder a escáneres de imágenes rasterizadas. SANE permite adquirir imágenes de diversos dispositivos, como escáneres de superficie plana y cámaras. SANE implementa una clara separación entre el controlador del dispositivo y la interfaz de usuario del dispositivo.
2.1. Sistemas operativos compatibles
La API de SANE es el estándar más popular y básico para trabajar con escáneres de imágenes en el sistema operativo Linux.
2.2. Disponibilidad de un controlador de dispositivo
Casi todos los escáneres de imágenes tienen un controlador SANE para Linux.
Existen controladores SANE del fabricante del escáner de imágenes o de la comunidad SANE. SANE es una API y define únicamente la arquitectura del controlador SANE. La implementación específica del controlador SANE depende del desarrollador. La mayoría de los controladores SANE son desarrollados por desarrolladores de la comunidad SANE.
Para trabajar con un dispositivo SANE, debe instalar el controlador SANE en el sistema operativo Linux. La lista de dispositivos compatibles con la API SANE se puede encontrar aquí:
http://www.sane-project.org/sane-supported-devices.html
2.3. Transferencia de una imagen desde un escáner de imágenes a una aplicación cliente
El dispositivo SANE transfiere datos de imagen a través de la memoria; es decir, los datos de la imagen escaneada se transfieren como una matriz de bytes que contiene los datos de imagen "sin procesar".
2.4. Trabajando con las capacidades del escáner de imágenes
El documento que define la API de SANE no es extenso y define la funcionalidad para el trabajo básico con el escáner de imágenes, es decir.La API SANE define una API para la adquisición simple de imágenes sin usar las funciones avanzadas del escáner. Al mismo tiempo, nada impide que el desarrollador del controlador SANE implemente compatibilidad con funciones avanzadas, pero estas estarán fuera de la API SANE.
2.5. La velocidad del escáner de imágenes
Usar la API SANE garantiza un buen rendimiento con el escáner de imágenes/documentos.
2.6. Soporte tecnológico
El Proyecto SANE (sitio web
http://www.sane-project.org) es un proyecto de código abierto, que permite la libre modificación y distribución de su código fuente para la colaboración de la comunidad y para facilitar mejoras y actualizaciones continuas.
3. Escaneo de documentos con escáneres eSCL
eSCL (eXtensible Scanner Control Library) es un estándar desarrollado por Mopria Alliance que define un protocolo de escaneo de imágenes para habilitar el escaneo inalámbrico en varios dispositivos sin la necesidad de instalar controladores. El protocolo eSCL usa HTTP(S) y XML para comunicarse entre el escáner de imágenes y la aplicación que lo usa.
3.1. Sistemas operativos compatibles
El protocolo eSCL se puede usar en Windows, Linux, macOS, Android. El protocolo eSCL puede usar una red cableada o inalámbrica.
3.2. Disponibilidad de un controlador de dispositivo
Para trabajar con un dispositivo eSCL no necesita instalar un controlador en el sistema operativo. Normalmente, un dispositivo eSCL es un dispositivo Linux que ejecuta un servidor web que atiende solicitudes al dispositivo usando el protocolo eSCL. El servidor web también proporciona una interfaz web que permite al usuario configurar los parámetros de escaneo y administrar cómodamente las tareas de escaneo de imágenes a través de un navegador web.
Puede encontrar una lista de dispositivos compatibles con el protocolo eSCL aquí:
https://mopria.org/it/certified-products
3.3. Transferencia de una imagen desde un escáner de imágenes a una aplicación cliente
El estándar eSCL especifica que cualquier dispositivo eSCL debe admitir la transferencia de una imagen escaneada como una secuencia JPEG o PDF. Es decir, para que una aplicación cliente reciba una imagen escaneada de un escáner de imágenes, se realizan los siguientes pasos:
- El dispositivo eSCL escanea un documento y recibe datos de imagen sin procesar.
- El dispositivo eSCL codifica la imagen escaneada en un archivo JPEG o PDF.
- El dispositivo eSCL envía la secuencia JPEG o PDF a la aplicación cliente mediante una conexión HTTP.
- La aplicación cliente recibe la secuencia JPEG o PDF y la utiliza para sus propios fines.
Si la imagen escaneada debe guardarse inmediatamente en un archivo o base de datos, el proceso de transferencia de la imagen desde el escáner a la aplicación cliente es óptimo. Si necesita ver la imagen escaneada después de escanearla, deberá decodificar la imagen JPEG o renderizar la página PDF; esto es una desventaja.Porque, en principio, existe una "codificación-decodificación" intermedia innecesaria de la imagen escaneada.
El estándar eSCL también define la capacidad de recibir datos de imagen "sin procesar" de un escáner de imágenes, pero esta opción no es obligatoria y no todos los escáneres eSCL la admiten.
3.4. Trabajando con las capacidades del escáner de imágenes
La especificación del protocolo eSCL contiene más de 70 páginas y define la funcionalidad para el trabajo básico con un escáner de imágenes; es decir, el protocolo eSCL es adecuado para el escaneo simple de imágenes sin usar las funciones avanzadas de un escáner de imágenes.
3.5. La velocidad del escáner de imágenes
La velocidad del escaneo de imágenes depende de la velocidad de la red a través de la cual se conectan el escáner de imágenes eSCL y la aplicación cliente. En la mayoría de los casos, el uso del protocolo eSCL proporciona una buena velocidad de trabajo con un escáner de imágenes/documentos.
3.6. Soporte tecnológico
La Alianza Mopria (sitio web
https://mopria.org) es una organización de fabricantes de impresoras y desarrolladores de software que crea y promueve estándares universales para la impresión y el escaneo inalámbricos desde dispositivos móviles. Los estándares Mopria permiten que los dispositivos certificados por ellos se encuentren entre sí en la red e intercambien datos, lo que proporciona una impresión y un escaneo sencillos y prácticos desde diversos dispositivos móviles, como teléfonos inteligentes y tabletas.
4. Escaneo de documentos con escáneres WIA
WIA significa Adquisición de Imágenes de Windows. Es un componente del sistema operativo Windows que permite que el software se comunique con dispositivos de imágenes como escáneres y cámaras digitales. WIA proporciona una API (Interfaz de Programación de Aplicaciones) para que los desarrolladores creen aplicaciones que puedan acceder a imágenes desde estos dispositivos.
4.1. Sistemas operativos compatibles
WIA es un componente del sistema operativo Windows y, por lo tanto, los dispositivos compatibles con WIA solo se pueden usar en Windows.
4.2. Disponibilidad de un controlador de dispositivo
No es necesario instalar un controlador WIA para que un dispositivo WIA funcione, ya que el sistema operativo Windows ya incluye un controlador WIA estándar. Un escáner compatible con WIA está listo para funcionar inmediatamente después de su instalación en Windows.
4.3. Transferencia de una imagen desde un escáner a una aplicación cliente
La API de WIA define dos modos para transferir una imagen escaneada desde un escáner a una aplicación cliente. El modo "Memoria" permite transferir una imagen a través de la memoria, es decir, los datos se transfieren como una matriz de bytes. El modo "Archivo" permite guardar la imagen escaneada directamente en un archivo.
4.4. Trabajar con las capacidades del escáner de imágenes
La información sobre la API de WIA está disponible en el sitio web de Microsoft:
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/wia/-wia-wia-application-programming-interface
La API WIA define una API para escanear imágenes fácilmente sin usar funciones avanzadas de escáner.
4.5. La velocidad del escáner de imágenes
Usar la API WIA proporciona un buen rendimiento con un escáner de imágenes/documentos.
4.6. Compatibilidad tecnológica
Microsoft admite la API WIA.
5. Escaneo de documentos con escáneres ICA
ICA significa Captura de Imagen. ICA es un marco de trabajo de Apple diseñado para buscar dispositivos multimedia y controlarlos programáticamente desde la aplicación.
El marco ICA forma parte del sistema operativo macOS y, por lo tanto, es el estándar más popular y básico para trabajar con escáneres de imágenes en dicho sistema.
Para trabajar con un dispositivo ICA, debe instalar el controlador ICA en el sistema operativo macOS.
6. Escaneo de documentos con escáneres ISIS.
El estándar de escaneo ISIS es una especificación de "Interfaz de Imagen y Escáner" desarrollada por Pixel Translations (ahora parte de OpenText) para controlar dispositivos de imagen como escáneres. Es conocido por su alto rendimiento, modularidad y completa especificación para integrar escáneres de alta velocidad en aplicaciones, lo que les permite operar a su velocidad nominal o superior. A diferencia del estándar TWAIN, más común, ISIS se orientó inicialmente a entornos de producción y requería que los proveedores pagaran regalías por el controlador, lo que lo hizo menos popular en el sector empresarial.
Para trabajar con un dispositivo ISIS, el controlador ISIS debe estar instalado en el sistema operativo.
Los controladores ISIS fueron desarrollados originalmente por Pixel Translations, que posteriormente pasó a formar parte de EMC (ahora OpenText). Los fabricantes de escáneres pagan a EMC para usar el controlador ISIS e incluirlo en su hardware, o bien compran kits de desarrollo y código de muestra de empresas como DELL EMC Captiva para crear sus propios controladores ISIS.
Usar el controlador ISIS proporciona la mejor/máxima velocidad para su escáner de documentos.
7. ¿Qué protocolo de escaneo de imágenes elegir?
La elección del protocolo de escaneo debe basarse no solo en las características técnicas de los dispositivos, sino también en las condiciones operativas reales, los requisitos del negocio y las limitaciones de la infraestructura.
Tipo y modelo de escáner:
- Los escáneres de documentos profesionales de alto coste siempre son compatibles con el estándar TWAIN y, en la mayoría de los casos, con el estándar ISIS.
- Los dispositivos multifunción (MFP) profesionales y costosos casi siempre admiten el estándar TWAIN.
- Los escáneres de imágenes económicos suelen ser compatibles con el estándar TWAIN y, a veces, con la API WIA.
- Los MFP económicos a veces solo admiten la API WIA.
- Los escáneres de imágenes y MFP de red suelen ser compatibles con el protocolo eSCL.
Consejo: Antes de comenzar a desarrollar,recopile una lista de modelos de escáner con los que funcionará su software y verifique sus especificaciones en el sitio web del fabricante.
Requisitos de calidad y velocidad:
- Si el máximo detalle es importante (por ejemplo, al digitalizar documentos de archivo), elija TWAIN o ISIS con soporte para DPI alto y corrección de color.
- Para el escaneo masivo de grandes volúmenes de documentos en papel, los dispositivos con soporte TWAIN o ISIS son más adecuados.
- Para el escaneo básico de oficina (actos, facturas, memorandos), puede elegir TWAIN, WIA o eSCL en Windows, SANE o eSCL en Linux, ICA o eSCL en macOS.
Características del flujo de trabajo:
- Escaneo a doble cara (dúplex): mejor compatible con TWAIN e ISIS.
- Alimentador automático de documentos (ADF): compatible con TWAIN e ISIS, parcialmente con WIA.
- Recorte y alineación automáticos: depende del controlador del dispositivo y del protocolo seleccionado.
Ejemplo: si tiene un archivo con miles de hojas a doble cara, la falta de compatibilidad con dúplex puede duplicar el tiempo de funcionamiento.
Costos de implementación y soporte:
- TWAIN, WIA, SANE, ICA y eSCL no requieren licencias de pago para los controladores.
- ISIS suele requerir licencias de pago y costos adicionales para los controladores.
Para iniciar un proyecto con un presupuesto limitado, TWAIN es la opción más racional.
8. Implementación en VintaSoft TWAIN .NET SDK
VintaSoft TWAIN .NET SDK es una biblioteca .NET profesional para escaneo de imágenes que permite crear una aplicación .NET para controlar escáneres de imágenes TWAIN en Windows y Linux, escáneres de imágenes SANE en Linux y escáneres de imágenes eSCL en Windows y Linux.
Además,
VintaSoft TWAIN .NET SDK proporciona una API de JavaScript y el servicio VintaSoft Web TWAIN, que permite a los desarrolladores web crear rápida y fácilmente una aplicación web multiplataforma para recibir imágenes de escáneres de imágenes TWAIN en Windows y Linux, escáneres de imágenes SANE en Linux y escáneres de imágenes eSCL en Windows y Linux. La aplicación web desarrollada es compatible con los principales navegadores web.
Elegir un protocolo de escaneo es una decisión estratégica para los desarrolladores de sistemas de gestión documental. TWAIN sigue siendo un estándar universal, y el
SDK TWAIN .NET de VintaSoft ofrece una implementación práctica y flexible, compatible con TWAIN, WIA (vía TWAIN), SANE y eSCL. Con una integración adecuada, se puede lograr un funcionamiento estable con escáneres de diferentes fabricantes y en distintos entornos, desde aplicaciones de escritorio hasta servicios en la nube.