Comparação de protocolos de digitalização de documentos.

Categoria do blog: TWAIN.NET

25.08.2025

Os modernos sistemas de processamento de documentos estão cada vez mais integrados a dispositivos periféricos para obter cópias digitais de mídias em papel. A questão fundamental no desenvolvimento dessas soluções é a escolha de um protocolo para interação com um scanner de imagem/documento. Neste artigo, analisaremos os principais padrões, avaliaremos suas vantagens e limitações e consideraremos como implementar seu suporte usando o VintaSoft TWAIN .NET SDK.



1. Digitalização de documentos com scanners TWAIN

TWAIN é um padrão que define um protocolo de software e uma API (interface de programação de aplicativos) para comunicação entre aplicativos de software e dispositivos de imagem, como scanners e câmeras digitais.

TWAIN é um padrão e, portanto, garante a uniformidade da interação entre diferentes dispositivos e aplicativos, simplificando o desenvolvimento e o uso de software para trabalhar com imagens.


1.1. Sistemas operacionais suportados

O padrão TWAIN declara suporte para os sistemas operacionais Windows, Linux e macOS.


1.2. Disponibilidade de um driver de dispositivo

Para trabalhar com um dispositivo TWAIN, você deve instalar um driver TWAIN no sistema operacional.

O driver TWAIN para um scanner de imagens é, na maioria dos casos, desenvolvido pelo fabricante do scanner de imagens. Graças a isso, o driver TWAIN fornece acesso a todos os recursos do scanner de imagens e garante a velocidade máxima de trabalho com o scanner.

O padrão TWAIN é o padrão mais popular e básico para trabalhar com scanners de imagens no sistema operacional Windows. Quase todos os scanners de imagens possuem um driver TWAIN para Windows.

Até o momento, os funcionários da VintaSoft viram drivers TWAIN realmente funcionais para Linux apenas da Kodak.

Os funcionários da VintaSoft não têm conhecimento da existência de drivers TWAIN para macOS para scanners de imagem modernos. Nos fóruns da Apple, é possível encontrar informações de que a Apple oficialmente parou de oferecer suporte ao padrão TWAIN em seu sistema operacional macOS por volta de 2019.


1.3. Transferência de uma imagem de um scanner de imagem para um aplicativo cliente

O padrão TWAIN define 3 modos para transferir uma imagem digitalizada de um scanner de imagem para um aplicativo cliente. O modo "Nativo" permite transferir uma imagem como um objeto Bitmap do Windows. O modo "Memória" permite transferir uma imagem via memória, ou seja, os dados são transferidos como uma matriz de bytes que contém dados de imagem "brutos" ou dados de imagem codificados (por exemplo, CCITT4 ou JPEG). O modo "Arquivo" permite salvar a imagem digitalizada diretamente em um arquivo. A presença de três modos permite selecionar o modo que melhor se adapta à lógica do aplicativo cliente e alcança o máximo desempenho e flexibilidade.


1.4. Trabalhando com recursos de scanner de imagem

O padrão TWAIN contém mais de 700 páginas de texto e descreve em detalhes o processo de interação entre o driver TWAIN e o aplicativo. O padrão TWAIN oferece a capacidade de trabalhar com quase todos os recursos de um scanner de imagem.


1.5.Velocidade do scanner de imagens

O uso do padrão TWAIN proporciona excelente velocidade de trabalho com um scanner de imagens/documentos.


1.6. Suporte tecnológico

O padrão TWAIN é desenvolvido pelo "TWAIN Working Group" (site https://twain.org) - uma organização sem fins lucrativos que apoia e desenvolve o padrão TWAIN. Este grupo inclui vários fabricantes de scanners de imagem e empresas de desenvolvimento de software.




2. Digitalização de documentos com scanners SANE

SANE (Scanner Access Now Easy) é uma Interface de Programação de Aplicativos (API) de código aberto que fornece uma interface padronizada para acessar scanners de imagens raster. O SANE permite adquirir imagens de vários dispositivos, como scanners de mesa e câmeras. O SANE implementa uma clara separação entre o driver do dispositivo e a interface do usuário.


2.1. Sistemas operacionais suportados

A API SANE é o padrão mais popular e básico para trabalhar com scanners de imagens no sistema operacional Linux.


2.2. Disponibilidade de um driver de dispositivo

Quase todos os scanners de imagem possuem um driver SANE para Linux.

Existem drivers SANE fornecidos pelo fabricante do scanner de imagem ou pela comunidade SANE. SANE é uma API e define apenas a arquitetura do driver SANE. A implementação específica do driver SANE depende do desenvolvedor do driver. A maioria dos drivers SANE é desenvolvida por desenvolvedores da comunidade SANE.

Para trabalhar com dispositivos SANE, você precisa instalar o driver SANE no sistema operacional Linux. A lista de dispositivos que suportam a API SANE pode ser encontrada aqui: http://www.sane-project.org/sane-supported-devices.html


2.3. Transferência de uma imagem de um scanner de imagem para um aplicativo cliente

O dispositivo SANE transfere dados de imagem através da memória, ou seja, os dados da imagem digitalizada são transferidos como uma matriz de bytes, que contém os dados "brutos" da imagem.


2.4. Trabalhando com os recursos do scanner de imagens

O documento que define a API SANE não é extenso e define a funcionalidade para o trabalho básico com o scanner de imagens, ou seja, a API SANE define uma API para aquisição simples de imagens sem usar os recursos avançados do scanner. Ao mesmo tempo, nada impede que o desenvolvedor do driver SANE implemente suporte para recursos avançados, mas esses recursos estarão fora do escopo da API SANE.


2.5. Velocidade do scanner de imagens

O uso da API SANE garante um bom desempenho com o scanner de imagens/documentos.


2.6. Suporte tecnológico

O projeto SANE (site http://www.sane-project.org) é um projeto de código aberto, que permite que seu código-fonte seja livremente modificado e distribuído para colaboração da comunidade e para facilitar melhorias e atualizações contínuas.


3. Digitalização de documentos com scanners eSCL

eSCL (eXtensible Scanner Control Library) é um padrão desenvolvido pela Mopria Alliance que define um protocolo de digitalização de imagens para permitir a digitalização sem fio em vários dispositivos sem a necessidade de instalar drivers. O protocolo eSCL utiliza HTTP(S) e XML para comunicação entre o scanner de imagens e o aplicativo que o utiliza.


3.1. Sistemas operacionais suportados

O protocolo eSCL pode ser utilizado em Windows, Linux, macOS e Android. O protocolo eSCL pode utilizar uma rede com ou sem fio.


3.2. Disponibilidade de um driver de dispositivo

Para trabalhar com um dispositivo eSCL, não é necessário instalar um driver no sistema operacional. Normalmente, um dispositivo eSCL é um dispositivo Linux que executa um servidor web e que atende às solicitações do dispositivo utilizando o protocolo eSCL.O servidor web também fornece uma interface web que permite ao usuário configurar os parâmetros de digitalização e gerenciar convenientemente as tarefas de digitalização de imagens por meio de um navegador web.

Uma lista de dispositivos que suportam o protocolo eSCL pode ser encontrada aqui: https://mopria.org/it/certified-products


3.3. Transferência de uma imagem de um scanner de imagens para um aplicativo cliente

O padrão eSCL especifica que qualquer dispositivo eSCL deve suportar a transferência de uma imagem digitalizada como um fluxo JPEG ou PDF, ou seja, para que um aplicativo cliente receba uma imagem digitalizada de um scanner de imagens, as seguintes etapas são executadas:

Se a imagem digitalizada precisar ser salva imediatamente em um arquivo ou banco de dados, o processo de transferência da imagem do scanner para o aplicativo cliente é o ideal. Se você precisar visualizar a imagem digitalizada após a digitalização, terá que decodificar a imagem JPEG ou renderizar a página PDF – o que é uma desvantagem, pois, em princípio, há uma "codificação-decodificação" intermediária desnecessária da imagem digitalizada.

O padrão eSCL também define a capacidade de receber dados de imagem "brutos" de um scanner, mas essa opção não é obrigatória e não é suportada por todos os scanners eSCL.


3.4. Trabalhando com os recursos do scanner

A especificação do protocolo eSCL contém mais de 70 páginas e define a funcionalidade para o trabalho básico com um scanner, ou seja, o protocolo eSCL é adequado para digitalização simples de imagens sem usar os recursos avançados de um scanner.


3.5. Velocidade do scanner de imagens

A velocidade de digitalização de imagens depende da velocidade da rede através da qual o scanner de imagens eSCL e o aplicativo cliente estão conectados. Na maioria dos casos, o uso do protocolo eSCL proporciona boa velocidade de trabalho com um scanner de imagens/documentos.


3.6. Suporte tecnológico

A Mopria Alliance (site https://mopria.org) é uma organização de fabricantes de impressoras e desenvolvedores de software que cria e promove padrões universais para impressão e digitalização sem fio a partir de dispositivos móveis. Os padrões Mopria permitem que dispositivos certificados por eles se encontrem na rede e troquem dados, proporcionando impressão e digitalização simples e conveniente a partir de diversos dispositivos móveis, como smartphones e tablets.




4. Digitalização de documentos com scanners WIA

WIA significa Windows Image Acquisition (Aquisição de Imagens do Windows). É um componente do sistema operacional Windows que permite que o software se comunique com dispositivos de imagem, como scanners e câmeras digitais. O WIA fornece uma API (Interface de Programação de Aplicativos) para que os desenvolvedores criem aplicativos que possam acessar imagens desses dispositivos.


4.1. Sistemas operacionais suportados

O WIA é um componente do sistema operacional Windows e, portanto, dispositivos compatíveis com WIA só podem ser usados ​​no Windows.


4.2. Disponibilidade de um driver de dispositivo

Você não precisa instalar um driver WIA para que um dispositivo WIA funcione, pois um driver WIA padrão já está instalado no sistema operacional Windows. Um scanner compatível com WIA está pronto para funcionar imediatamente após a instalação no Windows.


4.3.Transferência de uma imagem de um scanner para um aplicativo cliente

A API WIA define dois modos para transferir uma imagem digitalizada de um scanner para um aplicativo cliente. O modo "Memória" permite transferir uma imagem via memória, ou seja, os dados são transferidos como uma matriz de bytes. O modo "Arquivo" permite salvar a imagem digitalizada diretamente em um arquivo.


4.4. Trabalhando com os recursos do scanner

Informações sobre a API WIA estão disponíveis no site da Microsoft: https://learn.microsoft.com/en-us/previous-versions/windows/desktop/wia/-wia-wia-application-programming-interface

A API WIA define uma API para facilitar a digitalização de imagens sem usar recursos avançados do scanner.


4.5. Velocidade do scanner

O uso da API WIA proporciona bom desempenho com um scanner de imagens/documentos.


4.6. Suporte tecnológico

A API WIA é suportada pela Microsoft.


5. Digitalização de documentos com scanners ICA

ICA significa Image Capture (Captura de Imagem). ICA é uma estrutura da Apple projetada para "buscar dispositivos de mídia e controlá-los programaticamente a partir do seu aplicativo".

A estrutura ICA faz parte do sistema operacional macOS e, portanto, é o padrão mais popular e básico para trabalhar com scanners de imagem no macOS.

Para trabalhar com um dispositivo ICA, você deve instalar o driver ICA no macOS.


6. Digitalização de documentos com scanners ISIS

O padrão de digitalização ISIS é uma especificação de "Interface de Imagem e Scanner" desenvolvida pela Pixel Translations (agora parte da OpenText) para controlar dispositivos de imagem, como scanners. É conhecido por seu alto desempenho, modularidade e especificação completa para integrar scanners de alta velocidade em aplicativos, permitindo que operem em sua velocidade nominal ou acima dela. Ao contrário do padrão TWAIN, mais comum, o ISIS foi inicialmente direcionado a ambientes de produção e exigia que os fornecedores pagassem royalties pelo driver, o que o tornou menos popular no setor corporativo.

Para trabalhar com um dispositivo ISIS, o driver ISIS deve ser instalado no sistema operacional.

Os drivers ISIS foram originalmente desenvolvidos pela Pixel Translations, que mais tarde se tornou parte da EMC (agora OpenText). Os fabricantes de scanners pagam à EMC para usar o driver ISIS e incluí-lo em seu hardware, ou compram kits de desenvolvimento e código de exemplo de empresas como a DELL EMC Captiva para criar seus próprios drivers ISIS.

O uso do driver ISIS proporciona a melhor/máxima velocidade para o seu scanner de documentos.


7. Qual protocolo de digitalização de imagem escolher?

A escolha do protocolo de digitalização deve ser baseada não apenas nas características técnicas dos dispositivos, mas também nas condições reais de operação, nos requisitos de negócios e nas limitações da infraestrutura.

Tipo e modelo do scanner:

Dica: Antes de começar o desenvolvimento, colete uma lista dos modelos de scanner com os quais seu software funcionará e verifique suas especificações no site do fabricante.


Requisitos de qualidade e velocidade:


Recursos do fluxo de trabalho:

Exemplo: se você tiver um arquivo com milhares de folhas frente e verso, a falta de suporte para duplex pode dobrar o tempo de operação.


Custos de implementação e suporte:
Para iniciar um projeto com orçamento limitado, o TWAIN é a escolha mais racional.


8. Implementação no SDK TWAIN .NET da VintaSoft

VintaSoft TWAIN .NET SDK é uma biblioteca .NET profissional para digitalização de imagens, que permite criar um aplicativo .NET para controlar scanners de imagem TWAIN no Windows e Linux, scanners de imagem SANE no Linux, Scanners de imagem eSCL no Windows e Linux.

Além disso, o VintaSoft TWAIN .NET SDK fornece uma API JavaScript e o serviço VintaSoft Web TWAIN, que permitem a um desenvolvedor web criar de forma rápida e fácil um aplicativo web compatível com vários navegadores para receber imagens de scanners de imagem TWAIN no Windows e Linux, scanners de imagem SANE no Linux e scanners de imagem eSCL no Windows e Linux. O aplicativo web desenvolvido pode ser usado em todos os principais navegadores web.

A escolha de um protocolo de digitalização é uma decisão estratégica para desenvolvedores de sistemas de gerenciamento de documentos. O TWAIN continua sendo um padrão universal, e o VintaSoft TWAIN .NET SDK oferece uma implementação prática e flexível, compatível com TWAIN, WIA (via TWAIN), SANE e eSCL. Com a integração adequada, é possível obter uma operação estável com scanners de diferentes fabricantes e em diversos ambientes — desde aplicações desktop até serviços em nuvem.