Desenvolvi uma interface que gera os dados de um cheque e joga ele em formato html (text/plain) para o navegador. Daí a máquina cliente consegue imprimir o cheque como se fosse um texto normal e instalando essas máquinas como generic/text, funcionava perfeitamente. Porém com os navegadores Firefox 8 e IE 9, as mesmas rotinas sem alteração não funcionam. É como se a impressora não reconhecesse o encoding dos novos navegadores. Porém troquei o enconding inclusive colocando os mesmos encondings entre versões antigas e novas, nas antigas funcionam todos os encodings e nas novas não funciona nenhuma, daí descartei a possibilidade de ser char enconding.
Haveria de ser alguma mudança na interpretação do html para html 5? Testei com uma HTML simples de Hello World feito no bloco de notas para descartar qualquer mal funcionalmento no sistema. Seria um problema no navegador mesmo. Alguem tem alguma ideia do que possa ser?
Experimente direcionar a saída do “generic/text” para um arquivo no caso do IE9/FF8 e para um arquivo no caso do IE8 ou outra versão que antes funcionava, e comparar os arquivos.
Nessa rotina estou utilizando somente servlet mesmo. Criei um editor de etiqueta que gera os dados em html joga esse texto para essa servlet que só joga os dados como response. Mas, de qualquer forma o teste que eu estou fazendo agora é um HTML só com um texto qualquer, tipo um Hello World mesmo.
O firefox não coloca uma extensão, ela é definida pelo usuário. No IE, usa-se o mesmo arquivo nas duas versão (8 e 9) prn.
Não estou me referindo ao dado recebido pelo navegador. Estou dizendo que o Generic/Text permite você direcionar a saída para uma impressora ou então para um arquivo. Pode ser que as rotinas de impressão do navegador tenham mudado de uma versão para outra, e eventuais caracteres de controle (ESC) que você mandava antes e funcionavam, estejam agora sendo suprimidas pelas versões novas dos navegadores e convertidas para brancos, por exemplo.
Cara, realmente você está certo. Coloquei a porta do generic/text como file. Os arquivos gerados pelas versões antigas, quando abertos pelo bloco de notas exibem o texto ok. Quando crio os arquivos pela versão dos novos navegadores, estes arquivos vem em branco. Mais uma vez independente do enconding ou de qualquer configuração.
A questão agora é… como resolver isso? Alguma ideia?
Não vejo problema nenhum…
Vc renderiza um HMLT e deixa o navegador enviar o texto para o a impressão que invoca os controles internos da plataforma…
Qual é o problema?
[quote]Não vejo problema nenhum…
Vc renderiza um HMLT e deixa o navegador enviar o texto para o a impressão que invoca os controles internos da plataforma…
Qual é o problema?[/quote]
Concordo, não há problema, mas na verdade o que acontece é que o driver Text Only aparentemente não está reconhecendo os caracteres enviados pelas versões novas dos navegadores. Acho que a ideia do @entanglement, estaria certa, a questão é como resolver.
Vc quer dizer assim:
1- O texto é renderizado com sucesso e os caracteres estão ok.
2- Quando vc envia para a pagina para a impressão do navegador, o encode buga no papel e no preview?
[quote]Vc quer dizer assim:
1- O texto é renderizado com sucesso e os caracteres estão ok.
2- Quando vc envia para a pagina para a impressão do navegador, o encode buga no papel e no preview?[/quote]
O preview tá ok. Então vamos colocar assim o navegador reinderiza o HTML corretamente. O envio do navegador para a impressora que está bugando.
[quote=raphaelcmacedo]
O preview tá ok. Então vamos colocar assim o navegador reinderiza o HTML corretamente. O envio do navegador para a impressora que está bugando.[/quote]
Então é problema no navegador mesmo…
Oque acontece?
Ele buga os acentos?
[quote=raphaelcmacedo][quote]Acredito q seje pau de navegador mesmo…
Qual é exatamente a versão?[/quote]
Firefox 8 e IE 9[/quote]
Cara, eu tenho muitas aplicações imprimindo paginas dessa mesma forma ai que vc fez…sem nenhum problema.
Deve ter um detalhe ai q ta passando desapercebido…
Qual é o MIME da resposta HTTP que vc ta usando mesmo?
Eu acho que a grande diferença cara é o driver Generic Text Only. Se mandar para outros drivers até reconhecem, mas a impressora que é aquelas de cheque imprimie caracteres estranhos. Por isso eu acho ai eu o detalhe é a maneira que o driver Text Only está interpretando os caracteres do navegador.