Índice
- Escaneamento de documentos – TWAIN, WIA, ISIS, SANE ou ICA
- TWAIN
- WIA
- ISIS
- SANE
- ICA
- Quais as diferenças/similaridades entre o TWAIN e WIA?
- 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
- Windows Image Acquisition. Wikipédia.
- Web Services on Devices. Centro de Desenvolvimento do Windows.
- Web Services for Devices. Wikipédia.
- Document Scanning – TWAIN, WIA, ISIS or SANE. Dynamsoft Blog.
- Support for TWAIN-Compatible Applications. Microsoft Hardware Dev Center.
- What’s the similarities/differences between TWAIN and WIA?. Dynamic Web TWAIN Support Center.
- Solução de problemas de scanner ao digitalizar usando o Acrobat. Centro de Ajuda da Adobe.
- TWAIN. Wikipédia.
- Overview. Dynamsoft Dynamic Web TWAIN.
- Call TWAIN functions from WIA driver. StackOverflow.
- TWAIN. Wikipédia (FR).
- OS X, TWAIN et les scanners oubliés: une solution miracle. Le journal du lapin.
- Is 10.1.3 worth upgrading to?. Ars Technica OpenForum.
- Network Guide. Ricoh.
- TWAIN vs ISIS vs WIA. EzeScan.