Scanner Control foi desenvolvido em Applet e em JWS, e pode ser executado de qualquer navegador, com suporte a tecnologia Applet ou JWS, já vem com um exemplo (Xpz) funcional de como scannear um ou vários documentos em um único arquivo PDF, podendo salvar na maquina do usuário ou enviar para o servidor, como preferir, e armazenar no banco de dados, utiliza a DLL (jtwain.dll) que reconhecer o Scanner (ou Web Cam) na maquina do usuário, antes de enviar para o servidor tem como visualizar no próprio navegador, bem configurável (Mensagens, Texto dos botões, pastas temporários e etc.) para se ajustar ao seu sistema deixando-o mais moderno.
Principais características:
1. Rotina de escaneamento gera arquivos PDF;
2. Escaneamento vai gerar arquivos PDF single-page ou multi-page;
3. Pode escolher o nome dos arquivos e a pasta onde eles devem ser salvos(No cliente e no Servidor);
4. A rotina pode ser executada em uma estação qualquer e o arquivo pdf será enviado para o servidor;
5. Possibilita visualizar o arquivos PDF no navegador;
6. Textos, Botões, Mensagens e pastas parametrizáveis;
7. Vem com um exemplo funcionando em C#.
8. Fonte de dados do escaneamento configuráveis em tempo de execução.
Observações:
1. Precisa do Java 32-bit instalado na máquina do cliente;
2. Foi testado no Windows XP, Windows 7 e Windows 10 32-bits e 64-bits.
3. Precisa de um SoftWare de Scanner(ou Web Cam também reconhece) instalado no Cliente e a DLL (jtwain.dll)(Vem com o UC) colocada no Windows/system32, caso o sistema seja 64-bits colocar também na pasta Windows\SysWOW64.
4. Caso o UC esteja sendo executado de um servidor não local, configure o painel de control do java na aba segurança deve ser definida para média no cliente, para o UC acessar os drives da maquina do cliente;
New 5. Configure o servidor da Web para usar o tipo MIME do Java Web Start, Cada servidor da Web possui uma maneira específica de adicionar tipos MIME. Por exemplo, para o servidor da Web Apache, você deve incluir a seguinte linha no arquivo de configuração .mime.types: application/x-java-jnlp-file JNLP.
New 6. No IE o User Control abre embutido no navegador, no fire fox abre um pop-up, e no chrome baixa o arquivo jnpl ao clicar no arquivo abre o pop-up com a funcionalidade (não abre automático no chrome, por limitação do navegador).
New 7. deve se colocar permissão de leitura e escrita na pasta do User Control no servidor de aplicação.
[ IMPORTANTE ] 8. No Windows 10 não está funcionando corretamente a DLL de comunicação TWAIN.DLL , estamos verificando mas não temos solução imediata.
Implementando
Se for executar em um sistema C# a configuração é a padrão do UC:
Na implementação Somente Editar o Procedimento PSetScannerControl para poder salvar no banco, para salvar no servidor e no cliente a configuração é no próprio UC.
IF &MENSAGEM.IsEmpty() &MENSAGEM = &MsgEnvioOk // "ARQUIVO ENVIADO COM SUCESSO!" //Salvando Arquivo no Servidor o Caminho foi configurado no UC. &HTTPREQUEST.ToFile(&CAMINHO_ARQ) /* //IMPLEMENTAR AQUI PARA SALVAR O ARQUIVO NO BANCO DE DADOS - EXEMPLO //FAVOR DESCOMENTAR E COLOCAR OS ATRIBUTOS DE ONDE SERÁ AMARZENADO O ARQUIVO PDF NO BANCO FOR EACH WHERE ScannerId = &ID ScannerDigital = &CAMINHO_ARQ //ATUALIZANDO DOCUMENTO PDF WHEN NONE //INCLUINDO UM NOVO DOCUMENTO PDF NEW ScannerId = &ID ScannerDigital = &CAMINHO_ARQ WHEN DUPLICATE ScannerDigital = &CAMINHO_ARQ ENDNEW ENDFOR //FIM DA IMPLEMENTAÇÃO*/ ENDIF &HTTPRESPONSE.AddString(&MENSAGEM)
Sobre a DLL de comunicação TWAIN.DLL
Atualmente qualquer editor gráfico é capaz de receber dados do scanner instalado, graças ao padrão TWAIN. O Windows possui um driver chamado TWAIN source manager, encarregado de fazer a conexão entre programas gráficos e os drivers dos scanners. Todos os programas gráficos modernos são TWAIN compatíveis, assim como ocorre com os scanners. Este padrão faz com que o reconhecimento do scanner pelos programas gráficos seja tão padronizado como é o uso do mouse.
OBS: TWAIN não é abreviatura ou sigla de termo algum. Muitos brincam dizendo que significa “Technology without an interesting name”.
Figura 4
Funcionamento do sistema TWAIN.
A figura 4 mostra o funcionamento do sistema TWAIN. O centro de tudo é o TWAIN source manager, indicado como TWAIN.DLL (no Windows 9x/ME existem dois gerenciadores, o TWAIN.DLL e o TWAIN_32.DLL). Programas Twain compatíveis enviam comandos ao gerenciador TWAIN de uma forma padronizada, pedindo-lhes que seja enviado o arquivo gráfico capturado pelo scanner. A maioria dos editores gráficos modernos possui um comando Scan (ou Acquire, ou ainda Capture), obedecendo ao sistema TWAIN. O gerenciador TWAIN, por sua vez, envia comandos padronizados ao driver do dispositivo de entrada apropriado. Não é comum, mas um computador pode ter diversos dispositivos de entrada TWAIN (TWAIN sources), como por exemplo, um scanner e uma câmera digital – como é exemplificado na figura 4. Cada dispositivo de entrada de imagem deve ter o seu próprio TWAIN driver, que é fornecido pelo seu fabricante. O UC Scanner control utiliza deste recurso da DLL para comunicar-se com os dispositivos de Scanner ou webcam instalados no computador do cliente
Olá Welton;
Já fiz contato com você anteriormente sobre este user control (scanner).
Ele já roda em ambiente Linux?
Pois tenho interesse, porém, meu sistemas estão instalados em servidores Linux.
No aguardo.
Obrigado!
Marlon.
Bom dia Marlon,
O User Control Scanner executa no cliente(Applet), o que eu tenho certeza é que o cliente tem que ser Windows pois utiliza DLLs para comunicação,
já no servidor na teoria não importa, mas não fiz nenhum teste para poder estar confirmando, se funciona ou não com servidor Linux.
Atenciosamente,
Welton Justino do Nascimento