Escaneamento de documentos – TWAIN, WIA, ISIS, SANE ou ICA

Índice

  1. Escaneamento de documentos – TWAIN, WIA, ISIS, SANE ou ICA
    1. TWAIN
    2. WIA
    3. ISIS
    4. SANE
    5. ICA
  2. Quais as diferenças/similaridades entre o TWAIN e WIA?
  3. Referências

1. Escaneamento de documentos – TWAIN, WIA, ISIS, SANE ou ICA

Existem diversas interfaces de programação (API) para comunicação entre o software e o dispositivo de aquisição de imagem (fonte de dados) [4]:

  • TWAIN
  • WIA
  • ISIS
  • SANE
  • ICA

TWAIN, WIA, ISIS, SANE e ICA, são drivers de escaneamento que suportam a aquisição de imagens físicas de scanners e armazená-las em imagens digitais em um computador. [4]

Os fabricantes de scanners tomam suas próprias decisões sobre quais desses drivers vão liberar e oferecer suporte para cada scanner que vendem. Consequentemente, alguns scanners suportam apenas TWAIN, apenas ISIS ou apenas WIA. Outros scanners suportarão uma mistura desses drivers (TWAIN e WIA, ou TWAIN e ISIS, ou WIA e ISIS). Embora alguns scanners suportem todos esses 3 drivers (TWAIN, ISIS e WIA). [15]

1.1 TWAIN

O TWAIN é um protocolo de escaneamento que foi utilizado inicialmente em sistemas operacionais Microsoft Windows e Apple Macintosh. O primeiro lançamento foi em 1992. [8][11] Ele foi desenvolvido como uma interface entre o software de processamento de imagem e scanners ou câmeras digitais [4], permitindo que qualquer software de processamento de imagem compatível com TWAIN controle o scanner para controlar e iniciar a aquisição da imagem, qualquer que seja o modelo e fabricante do scanner. [11]

Com a introdução de scanners, câmeras digitais, e outros dispositivos de aquisição de imagens, os programadores precisavam criar interfaces de usuários e construir controles de dispositivos para um vasto grupo de diversos tipos de dispositivos de imagens. Programadores ficavam continuamente revisando seus aplicativos para que estes ficassem atuais. [8]

Programadores de dispositivos de aquisição de imagem e aplicativos de software reconheceram a necessidade de uma comunicação padrão entre o dispositivo de imagem. Uma padronização beneficiaria ambos os grupos como também os usuários de seus produtos. Isto permitiria os produtos dos vendedores de dispositivos serem acessados por mais aplicativos e vendedores de aplicativos poderiam acessar dados destes dispositivos sem a preocupação para qual tipo de dispositivo, ou dispositivo particular, este foi desenvolvido. [8]

O TWAIN foi criado por um pequeno grupo de companhias fornecedoras de software e hardware de digitalização em resposta a industria de imagem por uma proposta de especificação. [8] O padrão TWAIN é mantido pela organização sem fins-lucrativos TWAIN Working Group. [9][15]

Habitualmente, e de forma informal, diz-se que TWAIN deriva de TechnologyWithout An Interesting Name – Tecnologia Sem Nome Interessante, mas na realidade o origem do nome TWAIN vem do poema de Rudyard Kipling a “The Ballad of East and West”, onde a certa altura se pode ler: “…and never the twain shall meet…” (“…e nunca os dois se encontrarão…”). Ao criarem um padrão comum a várias plataformas, os membros iniciais queriam com a escolha de TWAIN significar que haviam conseguido unir o Este e o Oeste, contrariando o escrito no poema. [8]

TWAIN é o driver de scanner mais amplamente distribuído pela maioria dos fornecedores de hardware e software de digitalização. Na maioria dos casos, os usuários encontram um driver TWAIN gratuito do website do fabricante do scanner – Canon, HP, Epson, Kodak, Xerox, etc. [4][15]

Para reinstalar o driver TWAIN de um dispositivo no Windows, exclua todos os subdiretórios da pasta “twain_32” na pasta Windows ou Winnt (por exemplo, “C:\Windows\twain_32\”). Reinicie o Windows e, em seguida, instale o driver mais recente do scanner de acordo com as instruções do fabricante. [7]

A especificação 2.0 do TWAIN informa que caso o dispositivo de imagem suporte conexão remota através da rede, a interface TWAIN deve realizar a comunicação remota com o dispositivo de forma transparente para a aplicação. Não há uma padronização de protocolo, número de porta ou forma de funcionamento desta comunicação, cabendo a fabricante do dispositivo desenvolver métodos proprietários para realizar a comunicação com o dispositivo de imagem através da rede. Por exemplo: alguns dispositivos legados não suportam escaneamento através do protocolo IPv6 [14], ou possuem suporte limitado a aplicativos 32-bit, não permitindo o escaneamento através de aplicativos 64-bit. Você pode consultar essas informações no manual/página de suporte oficial do fabricante do seu dispositivo.

O padrão TWAIN está evoluindo para a próxima geração, chamada TWAIN Direct. O grupo de trabalho do TWAIN, do qual a Dynamsoft faz parte, defende que com o TWAIN Direct, drivers específicos do fabricante do scanner não serão mais necessários. A aplicação (desktop ou mobile) será capaz de comunicar-se diretamente com dispositivos de scanner. [4]

1.2 WIA

O WIA (Windows Image Aquisition/Arquitecture) é um modelo de driver proprietário e interface de programação de aplicativo (API) exclusiva do Windows que permite que aplicativos comuniquem-se com dispositivos de imagem como scanners, câmeras digitais, e equipamentos de vídeo digital. [15] Ele foi introduzido em 200 como parte do Windows ME [1] e popularizado com o lançamento do Windows Vista/Server 2008, que introduziram o protocolo WSD da Microsoft como parte integrante do sistema operacional Windows [2].

O WSD é um framework comum e extensível para permitir acesso a novas APIs de dispositivos (WSDAPI), simplificando a conexão de dispositivos de rede, como impressoras, scanners e compartilhamento de arquivos. O WSD utiliza o protocolo WS-Discovery (Web Services Dynamic Discovery) para a descoberta de dispositivos em uma rede local. [3] O Windows Vista e sistemas operacionais posteriores acompanham um driver WSD-WIA nativo, permitindo que aplicativos WIA existentes trabalhem com scanners WSD (WSD Scan) sem a necessidade de um driver adicional. [2]

O WIA não é funcionalmente rico como TWAIN e ISIS. O WIA é simples e apresenta configurações suficientes na interface do usuário para que o scanner execute uma digitalização simples de uma ou mais páginas. Se for o único driver de scanner fornecido com o scanner, use-o, caso contrário, é recomendado que você experimente os drivers TWAIN ou ISIS. [4][15]

1.3 ISIS

O ISIS (Image and Scanner Interface Specification) é uma interface de scanner proprietária desenvolvida pela Pixel Translations (hoje: EMC Captiva) em 1990. [4][15]

Diferente do TWAIN, que é produzido por uma organização sem fins-lucrativos, o ISIS não é gratuito. Fornecedores de scanner devem pagar uma taxa de royalty para usar o driver ISIS. [15] Apesar do ISIS ter sido desenvolvido inicialmente para ambientes de produção (com grandes volumes, suportando recursos avançados presentes em scanners high-end), o alto custo afastou os fornecedores de scanner. Como resultado, o ISIS não é popular em organizações. [4]

Alguns fornecedores de scanners agora incluem drivers ISIS gratuitamente, enquanto outros podem cobrar mais por um driver ISIS ou cobrar preços escalonados para esse driver ISIS à medida que o tamanho e a velocidade dos scanners aumentam. [15]

Além disso, apesar da performance do ISIS, muitos desenvolvedores afirmam que não existe vantagem técnica do ISIS em comparação ao TWAIN. [4][15]

1.4 SANE

O SANE (Scanner Access Now Easy) é uma interface de programação de aplicativo (API) comumente utilizada no UNIX (incluindo o GNU/Linux) que provê acesso padronizado a dispositivos de imagens, como scanners, equipamentos de vídeo e câmeras. O SANE é um projeto de código-aberto (open source). [4] No Linux, o TWAIN não é suportado; portanto o SANE é utilizado. [9]

Diferente do TWAIN, o SANE separa a interface do usuário (front-end) do driver de um dispositivo (back-end). Essa divisão torna o SANE mais fácil de implementar, enquanto o TWAIN requer o desenvolvimento de um driver para cada interface de aplicação presente em diferentes sistemas operacionais. [4]

Essa implementação separada torna o SANE adequado para um cenário de escaneamento em rede, no qual você possui todos os computadores conectados em uma LAN e scanners conectados a um ou dois computadores como scanners compartilhados. [4] Por exemplo, é possível conectar um scanner em uma porta USB e compartilhá-lo em rede através do SANE, permitindo o escaneamento de documentos através de uma rede local em um scanner que não possui conexão de rede nativa.

A página oficial do SANE lista frontends (interfaces gráficas ou GUI) que atuam como bridges, permitindo a comunicação com o backend do SANE através da interface de programação TWAIN e WIA.

O backend do SANE pode ser compilado no Windows através do Cygwin; porém, existem alternativas open source nativas para Windows, como o Network Twain Engine, que permite compartilhar um scanner/dispositivo Twain via TCP/IP no Windows.

1.5 ICA

Desde a versão 10.9, o OSX não é mais compatível com TWAIN. Em vez disso, a Apple oferece uma interface de aplicação para descobrir dispositivos de aquisição de imagem e transferir imagem para eles chamada ICA (Image Capture Architecture) [11]; sem um driver ICA, o Image Transfer (e todos os aplicativos que usam as APIs do Mac OS X) não podem, portanto, usar o scanner. Felizmente, existe uma solução: recuperar o gerenciamento TWAIN no Mountain Lion. Um blog oferece o arquivo para download, com um instalador. Feito isso, às vezes é necessário instalar os drivers TWAIN (normalmente, esses são os drivers para o Snow Leopard, Lion ou Mountain Lion). [12]

2. Quais as diferenças/similaridades entre o TWAIN e WIA?

Drivers TWAIN e WIA são diferentes em vários níveis. O modo como eles interagem com o aplicativo, mantêm dados (parâmetros de escaneamento, dados da imagem, etc.). Porém, há algumas funcionalidades comuns, exemplo: 1) o modo como o driver comunica-se com o dispositivo, ex: código da camada de rede, pode ser reutilizado. 2) a implementação de recursos para o driver TWAIN para aprimoramento de imagens/processamento de dados rasterizados pode ser reutilizado em drivers WIA. [10]

Similaridades:

  • Desde que um driver TWAIN/WIA exista, ambos serão capazes de adquirir imagens de dispositivos como um scanner ou câmera. [4][6]

Diferenças:

  • Dispositivos de imagem TWAIN não são reconhecidos pelo Gerenciador de Dispositivos <a href="<code>devmgmt.msc10, Dispositivos e Impressoras e Scanners e Câmeras (C:\Program Files\Windows Photo Viewer\ImagingDevices.exe) do Windows.
  • Geralmente, aplicações que interagem com scanners, especialmente quando o suporte a scanners antigos é um pré-requisito, o TWAIN é recomendado. Para câmeras, o WIA oferece maior suporte. [4][6]
  • Para dispositivos como câmeras, ás vezes o driver é WIA porém você pode acessá-lo através da “camada de compatibilidade TWAIN” (TWAIN compatibility layer). [4][6] Essa camada de compatibilidade é implementada pelo desenvolvedor do driver do dispositivo de imagem – caso seu dispositivo possua apenas driver WIA e o desenvolvedor não implementou a camada de compatibilidade TWAIN, o dispositivo será compatível apenas com a interface de programação WIA, não permitindo a aquisição de imagens em aplicativos que possuem compatibilidade apenas com a interface de programação TWAIN. [5]
  • O WIA usa uma interface gráfica comum para todos os dispositivos enquanto o TWAIN usa uma interface gráfica criada pelo fabricante do dispositivo. Na prática, isso significa que quase sempre a interface gráfica do TWAIN oferecerá mais opções e controle avançado sobre o dispositivo. [6] Se você precisa utilizar funcionalidades básicas de escaneamento, o WIA é suficiente. Se você precisa usar recursos mais sofisticados de um scanner, o TWAIN deve ser sua escolha. [4][15] Você encontra uma tabela comparativa de funcionalidades TWAIN e WIA em impressoras multifuncionais Ricoh no website da fabricante.
  • O TWAIN permite o uso de recursos customizados que o fabricante do dispositivo tenha criado mesmo que ele não exista nas especificações do TWAIN. [6]
  • A maioria das origens TWAIN salvam as configurações de escaneamento anteriores enquanto o WIA não. [6]
  • O TWAIN suporta opções customizadas para cada página ao escanear páginas em modo Duplex [4], enquanto o WIA usa as mesmas configurações para ambos os lados. [6]

Referências

  1. Windows Image Acquisition. Wikipédia.
  2. Web Services on Devices. Centro de Desenvolvimento do Windows.
  3. Web Services for Devices. Wikipédia.
  4. Document Scanning – TWAIN, WIA, ISIS or SANE. Dynamsoft Blog.
  5. Support for TWAIN-Compatible Applications. Microsoft Hardware Dev Center.
  6. What’s the similarities/differences between TWAIN and WIA?. Dynamic Web TWAIN Support Center.
  7. Solução de problemas de scanner ao digitalizar usando o Acrobat. Centro de Ajuda da Adobe.
  8. TWAIN. Wikipédia.
  9. Overview. Dynamsoft Dynamic Web TWAIN.
  10. Call TWAIN functions from WIA driver. StackOverflow.
  11. TWAIN. Wikipédia (FR).
  12. OS X, TWAIN et les scanners oubliés: une solution miracle. Le journal du lapin.
  13. Is 10.1.3 worth upgrading to?. Ars Technica OpenForum.
  14. Network Guide. Ricoh.
  15. TWAIN vs ISIS vs WIA. EzeScan.

Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.