[Resolvido]Impressão Generic/Text Web novos navegadores
24 respostas
R
raphaelcmacedo
Olá galera,
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?
qual framework você está utilizando? poste um exemplo, sem ele estamos cegos do que está acontecendo.
E
entanglement
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.
R
raphaelcmacedo
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.
E
entanglement
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?
F
FernandoFranzini
Bem vindo a guerra dos navegadores…kkkkk
a geração desse recurso é dentro de um HTML ou e dentro pagina TXT mesmo, sem caracteres HTML?
Vc ta usando qual encode de renderização? ISO ou UTF-8?
R
raphaelcmacedo
Dentro de um HTML
Já testei com os dois, não funcionaram, deixei como ISO
F
FernandoFranzini
Posta um exemplo ai do html final para eu sacar…
R
raphaelcmacedo
To testando com um html horrivel msm, tipo
<HTML><BODY>
Teste
</BODY></HTML>
Estava fazendo direto pela servlet do java, mas para garantir que não tinha nenhum problema na servlet resolvi usar htmls simples assim
F
FernandoFranzini
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?
R
raphaelcmacedo
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?
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.
F
FernandoFranzini
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?
R
raphaelcmacedo
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?
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.
F
FernandoFranzini
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.
Então é problema no navegador mesmo…
Oque acontece?
Ele buga os acentos?
R
raphaelcmacedo
Não no navegador exibe normalmente, e a impressora não imprime nada. Tudo em branco
F
FernandoFranzini
Acredito q seje pau de navegador mesmo…
Qual é exatamente a versão?
R
raphaelcmacedo
Acredito q seje pau de navegador mesmo…
Qual é exatamente a versão?
Firefox 8 e IE 9
F
FernandoFranzini
raphaelcmacedo:
Acredito q seje pau de navegador mesmo…
Qual é exatamente a versão?
Firefox 8 e IE 9
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?
R
raphaelcmacedo
response.setContentType(“text/plain”);
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.
F
FernandoFranzini
Mas cara…vc ta mandando o texto HTML com mime text/plain?
Tenta mandar o MIME text/HTML e envia para impressora para ver oq acontece.
R
raphaelcmacedo
Mas cara…vc ta mandando o texto HTML com mime text/plain?
Tenta mandar o MIME text/HTML e envia para impressora para ver oq acontece.
Desculpe cara te respondi tudo pela metade. Eu modifiquei a servlet para ao invés de jogar um HTML jogar um texto. Por isso o text/plain. Daí a impressora reconhece os caracteres, mas imprime tudo fora de ordem. Quando visualiza a impressão o arquivo continua certo, mas eu mando imprimir tanto em papel quanto em imprimir em arquivo ele bagunça o arquivo todo. Coloquei um anexo para que você possa visualizar isso ai seria um cheque. Jogando no google to vendo que várias pessoas tiveram problema com novos navegadores no caso FF 8 e drivers Generic / Text Only. E como nesse caso eu uso aquelas impressoras de cheque preciso realmente usar esse driver
F
FernandoFranzini
Driver vc quer dizer driver de impressora?
R
raphaelcmacedo
Resolvi com IE 9. O Problema é realmente do navegador com o Generic/Text. Segue ai o link do hotfix para quem tiver o problema. Fernando obrigado pelo esforço ai cara.
Resolvi com IE 9. O Problema é realmente do navegador com o Generic/Text. Segue ai o link do hotfix para quem tiver o problema. Fernando obrigado pelo esforço ai cara.