Imprimir em modo DOS

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???

Olá

Criando uma applet assinada você consegue. Passar os dados é um outro problema que também tem solução.

[]s
Luca

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.