A questão é a seguinte:
Imagine que você tenha um sistema todo via Web, e que seu cliente precise emitir Notas Fiscais das Contas Recebidas em um formulário contínuo, devido ao fato de que a Secretaria de Fazenda não aceita NF em papel avulso.
Neste caso, eu obrigatoriamente tenho que usar impressora matricial. E imprimir pelo modo gráfico em impressora matricial não funciona bem por três motivos:
- é uma carroça;
- a qualidade fica péssima;
- e PRINCIPAL: para posicionar os campos corretamente em uma NF, é melhor usar o modo condensado e impressão em modo texto, devido à maior precisão de linha/coluna.
Então, como eu faço para a minha aplicação web (uma servlet) imprimir em modo texto:
- alguma API de impressão em modo texto do Java => NÃO SEI SE ISSO EXISTE, mas seria a solução ideal
- a servlet chamar um outro programa (via Socket, via RMI, via arquivo temporário ou qualquer outra coisa) que consiga pegar os dados a serem impressos que já estão formatados em linha/coluna e imprimir.
Se a opção 2) for usada, eu sei fazer isso em Delphi, por exemplo, pois aponto o arquivo de saída para a LPT1 e funciona numa boa. Por isso pensei em usar Socket entre a servlet Java e a aplicação Delphi. Agora, caso exista uma solução multiplataforma em Java, melhor ainda, pois não terei que manter código em duas linguagens.
Resumindo: o problema é… o Java tem API ou componente para impressão em modo texto ou eu preciso fazer alguma mutreta dependente do SO?