galera tenho uma app desktop e preciso fazer o java se comunicar com um scanner instalado e obter o arquivo escaneado.
parece que o Java não tem uma especificação para capturar imagens a partir de dispositivos como Scanner ou máquinas digitais por exemplo… :shock:
Alguém conhece/sugere APIs com esses recursos ? não conheço nenhuma :lol:
valeu!!
1 curtida
Apenas para acompanhar o post.
[quote=Rafael Nascimento]galera tenho uma app desktop e preciso fazer o java se comunicar com um scanner instalado e obter o arquivo escaneado.
parece que o Java não tem uma especificação para capturar imagens a partir de dispositivos como Scanner ou máquinas digitais por exemplo… :shock:
Alguém conhece/sugere APIs com esses recursos ? não conheço nenhuma :lol:
valeu!![/quote]
Dependendo do dispositivo que vc quer se comunicar, talvez vc tenha que se comunicar com as DLLs do driver do Scanner. Isso pode ser um problema, já que vc vai depender de documentação do fabricante do driver.
Como não pesquisei muito sobre isso, eu posso te aconselhar a ficar monitorando a pasta onde são salvados os arquivos do scanner. Caso apareça um novo arquivo, vc saberá que esse é o arquivo escaneado.
Eu fiz uma coisa parecida, mas para monitorar novas unidades de disco (tipo, pen drive) http://www.guj.com.br/java/244077-resolvido-problema-com-usb-jusb#1263094.
Espero ter ajudado.
A plataforma java não tem integração com vários tipos de hardwares, inclusive portas USB, portais seriais e scanners. Para que seja possível usa-los é necessário recorrer a bindings, que usam métodos nativos, fora da VM.
Felizmente, boa parte desses bindings já estão implementados. No caso de scanners, a maioria é compatível com uma especificação chamada TWAIN, ou com outra chamada SANE. Você pode dar uma olhada nessas bibliotecas, que implementam essas especificações e devem ser capazes de operar muitos scanners:
http://www.gnome.sk/Twain/jtp.html (tutorial1, tutorial2)
http://asprise.com/product/jtwain/
http://www.twainconnect.com/
[quote=ViniGodoy]A plataforma java não tem integração com vários tipos de hardwares, inclusive portas USB, portais seriais e scanners. Para que seja possível usa-los é necessário recorrer a bindings, que usam métodos nativos, fora da VM.
Felizmente, boa parte desses bindings já estão implementados. No caso de scanners, a maioria é compatível com uma especificação chamada TWAIN, ou com outra chamada SANE. Você pode dar uma olhada nessas bibliotecas, que implementam essas especificações e devem ser capazes de operar muitos scanners:
http://www.gnome.sk/Twain/jtp.html (tutorial1, tutorial2)
http://asprise.com/product/jtwain/
http://www.twainconnect.com/[/quote]
Legal, Vini!
Não sabia disso… vou pesquisar melhor sobre esses bindings…
Vou passar minha experiencia, hehe,
Já usei o da asprise, péssimo, não sei como está hoje em dia, mas a uns 3 anos que tentei desenvolver uma aplicação com ele deu muitos problemas, entrei em contato com o email de suporte deles e demoraram mais de 1 semana para responder meu email, quando respoderam pediram informações e repassei o que pediram e não obtive mais retorno nenhum, então eu não gostei.
O morena que é o link http://www.gnome.sk/Twain/jtp.html muito bom, utilizei ele e utilizo até hoje em meus aplicativos suporta a maioria dos scanners do mercado e suas funcionalidades :), como alimentador automatico, frente e verso. Se quiser dar uma olhada na minha app tá no meu site que tá na minha assinatura, hehe.
O outro que o vini passou não conheço então não posso opinar.
Sobre a máquina digital ou webcam com o driver morena nunca utilizei mas já vi topico na net que utiliza ele como se fosse uma webcam, porem não sei se funciona. Mas se for pra webcam existe o dsj que aqui para mim funcionou perfeitamente, se quiser ver um exemplo http://www.thinkti.com.br/webcam.html.
Espero que ajude,
Obrigado galera, este tópico foi muito esclarecedor. Também achei uma API muito interessante e FREE: http://rsbweb.nih.gov/ij/plugins/twain-scan.html , e acho q vou usá-la [mas só funciona no JDK 32 bit]
fiz uma aplicação de teste (um jframe, com um botão “digitalizar” e um jpanel pra desenhar a imagem) e funcionou legal. Consegui ativar o scanner direto pela aplicação e desenhar a imagem 
1 curtida
pra quem tiver interesse, publiquei no meu blog o código da aplicação: http://finalexception.blogspot.com.br/
Boa tarde Rafael estou meio perdido como faço será que você pode me dar uma luz ?
[quote=Rafael Nascimento]Obrigado galera, este tópico foi muito esclarecedor. Também achei uma API muito interessante e FREE: http://rsbweb.nih.gov/ij/plugins/twain-scan.html , e acho q vou usá-la [mas só funciona no JDK 32 bit]
fiz uma aplicação de teste (um jframe, com um botão “digitalizar” e um jpanel pra desenhar a imagem) e funcionou legal. Consegui ativar o scanner direto pela aplicação e desenhar a imagem 
[/quote]