Será que existe uma maneira de imprimir em modo DOS a partir de um applet java ou algo parecido? Tenho um sistema em php onde preciso emitir notas fiscais em impressora matricial. Para isso teria q imprimir em modo DOS, por exemplo, gerando a nota num arquivo txt e copiando este arquivo para a porta da impressora (lpt1). Isto resolveria, mas em php ou java script acredito que não seja possível. Talvez criando um applet, alguém tem alguma idéia???
Imprimir em modo DOS
2 Respostas
Olá
Criando uma applet assinada você consegue. Passar os dados é um outro problema que também tem solução.
[]s
Luca
T
Nada como coisas complicadas…
A princípio você pode pensar que é só abrir o arquivo LPT ou PRN ou COM1 e copiar os bytes (para isso um simples FileOutputStream seria suficiente).
A seguir você descobre que não consegue controlar a impressora.
Aí você descobre que existe um pacote chamado javax.comm, que pode ser baixado do site da Sun (é tão velho que funciona até com a JVM da Microsoft), e se precisar uma versão Linux, você pode usar a versão de http://www.rxtx.org .
Quando você acha que isso resolve os seus problemas, aparecem outros.
- Primeiramente, para isso funcionar em applets:
- Você precisa assinar o applet
- Assinatura de applets é diferente se você quer gerar um .cab (para Internet Explorer) ou .jar (para Sun Plug-In)
- Você precisa copiar o comm.jar para algum lugar em jre/lib/ext (no caso Sun Plug-In) ou incluir no applet (no caso MSJVM)
- Você precisa copiar a DLL que vem junto para algum lugar no PATH (não no CLASSPATH), de preferência em \windows\system32 para não ter problemas
- Você precisa copiar o arquivo javax.comm.properties para algum lugar em jre/lib
- etc.
Preveja um bom tempo para gastar com esses problemas. E não se esqueça de montar um cabo que funcione com essa impressora. Se você nunca viu a impressora funcionando, não tente direto com seu programa; use algum outro programa para fazer a impressora funcionar e veja qual a configuraçao usada.
Criado 24 de fevereiro de 2005
Ultima resposta 24 de fev. de 2005
Respostas 2
Participantes 3