Login Registre-se
Impressão em Java usando diversas impressoras sem caixa de diálogo  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Ricardo de Oliveira

JavaC Membro

Membro desde: 08/03/2017 17:13:48
Mensagens: 27
Offline

Olá, estou com a seguinte situação, tenho um sistema onde em uma mesma máquina preciso usar 3 impressoras diferentes, uma local térmica via usb, uma laser também local e uma laser por rede, a situação é a seguinte, quando estou usando a térmica não pode aparecer caixa de dialogo, então deixei para que a impressão saia na impressora padrão do PC, nesse caso deixei a térmica como padrão, porém eu gostaria que os pedidos e vendas saíssem na impressora local laser também sem a necessidade de passar pela caixa de dialogo, pq nesse caso quero deixar configurada essa impressora para recibos e orçamentos, e a terceira impressora é de romaneio então não esta próxima a máquina, hoje é preciso setar essas ultimas duas manualmente quando abre a caixa de dialogo, porém gostaria de deixar salvo a impressora para cada situação e ao clicar no botão finalizar ou salvar ela saia na impressora setada por parâmetro, minha dificuldade é, como? não sei como setar essas impressoras, como buscar e deixar elas salvas e posteriormente usar a que já esta salva para sair em cada impressora salva? agradeço muito a ajuda de todos
Marlúcio Pires

JavaC Membro
[Avatar]

Membro desde: 22/08/2014 09:27:32
Mensagens: 64
Offline

Seu sistema é desktop ou web?
Vê se isso te atende...
https://stackoverflow.com/questions/30585298/how-print-without-to-select-a-printer-in-java
https://stackoverflow.com/questions/14885993/how-do-i-specify-the-printer-i-want-to-use-in-java
Ricardo de Oliveira

JavaC Membro

Membro desde: 08/03/2017 17:13:48
Mensagens: 27
Offline

Ótimo, isso resolveu em 90% o problema. Achei estranho pq quando mando um pdf ele trava a impressora, e nada mais passa por ela, precisei desligar ela algumas vezes durante os testes, ela vai para a impressora certa como Jasper Printer mas lá ela para, pq será? lia alguma coisa que pode ser a segurança do java, e que o arquivo precisa ser assinado, será que isso procede?
Marlúcio Pires

JavaC Membro
[Avatar]

Membro desde: 22/08/2014 09:27:32
Mensagens: 64
Offline

Quando li os posts para te ajudar vi algo parecido. Mas na verdade eu mesmo impressão em java não. Programo web, então não uso configurações de impressora.
Por isso perguntei se era web.
Preciso fazer essas configurações web, até olhei google cloud print. Mas é um tanto burocrático. No momento tenho outras demandas.

Mas enfim, conseguiu resolver? Se sim deixa no fórum para fortalecer a comunidade.
Ricardo de Oliveira

JavaC Membro

Membro desde: 08/03/2017 17:13:48
Mensagens: 27
Offline

Ainda estou na mesma, estou tentando mandar em uma impressora hp laserjet, eu já tenho a aplicação funcionando a bastante tempo sendo impressa diretamente na impressora padrão, e vai que é uma beleza, mas o mesmo pdf, quando mando pela classe onde seto a impressora, chega na impressora, trava a impressora e depois de minutos ela some o trabalho da fila sem imprimir nada, já na impressora térmica quando uso o JasperPrintManager.printReport(printReport,false) tudo vai bem e imprime perfeito, e quando seto a impressora pela classe só sai um monte de caracteres, se mudo o DocFlavor.INPUT_STREAM.AUTOSENSE para DocFlavor.INPUT_STREAM.PDF, ele diz que o DocFlavor é invalido, só aqui já perdi metade dos cabelos, pq no momento preciso que impressões de NFCe saiam em uma térmica de forma automática pq é um pdv, porém o cliente ainda precisa de mais duas impressoras, uma para ordens de serviço e romaneio, que esta por rede e a impressora de NFe, local, isso tudo na mesma máquina. E só a titulo de informação, as ordens de serviço impressas são diretamente criadas de uma String e nesse método do link sai perfeitamente normal e mais rápido do que antes, o problema é no PDF mesmo, vi em outros foruns que até tem como, mas quando o abençoado acha a solução, só agradece e não explica como fez, sei que tem programadores muito experientes que já passaram por isso aqui, então se alguém puder dar uma luz, os últimos fios de cabelo agradecem
robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 358
Offline

Boa tarde!
Não sei como é o seu código, tenta assim.

Marlúcio Pires

JavaC Membro
[Avatar]

Membro desde: 22/08/2014 09:27:32
Mensagens: 64
Offline

Ricardo de Oliveira wrote:Ainda estou na mesma, estou tentando mandar em uma impressora hp laserjet, eu já tenho a aplicação funcionando a bastante tempo sendo impressa diretamente na impressora padrão, e vai que é uma beleza, mas o mesmo pdf, quando mando pela classe onde seto a impressora, chega na impressora, trava a impressora e depois de minutos ela some o trabalho da fila sem imprimir nada, já na impressora térmica quando uso o JasperPrintManager.printReport(printReport,false) tudo vai bem e imprime perfeito, e quando seto a impressora pela classe só sai um monte de caracteres, se mudo o DocFlavor.INPUT_STREAM.AUTOSENSE para DocFlavor.INPUT_STREAM.PDF, ele diz que o DocFlavor é invalido, só aqui já perdi metade dos cabelos, pq no momento preciso que impressões de NFCe saiam em uma térmica de forma automática pq é um pdv, porém o cliente ainda precisa de mais duas impressoras, uma para ordens de serviço e romaneio, que esta por rede e a impressora de NFe, local, isso tudo na mesma máquina. E só a titulo de informação, as ordens de serviço impressas são diretamente criadas de uma String e nesse método do link sai perfeitamente normal e mais rápido do que antes, o problema é no PDF mesmo, vi em outros foruns que até tem como, mas quando o abençoado acha a solução, só agradece e não explica como fez, sei que tem programadores muito experientes que já passaram por isso aqui, então se alguém puder dar uma luz, os últimos fios de cabelo agradecem


Quando chego nesse nível de estresse que vc está eu pago. Posto no freelancer,workana. Estresso não. Ainda mais que é um problema corriqueiro.
Quando é uma coisa de certificado digital, comunicação criptografada é mais difícil, pouca gente entende mesmo, a maioria só copia o código.
Neste caso aí aconselho a pagar se não conseguir. Pensa bem quanto custa sua hora, seu dia.... Não vale a pena....
Ricardo de Oliveira

JavaC Membro

Membro desde: 08/03/2017 17:13:48
Mensagens: 27
Offline

robertop wrote:Boa tarde!
Não sei como é o seu código, tenta assim.



Olá amigo, estou testando seu código, porém algo que achei estranho é que esse método JRExport esta subscrito, de qual biblioteca vc importa esse objeto?
robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 358
Offline

Bom dia!
Sim, ele esta deprecated, mas por enquanto esta funcionando bem.

Como o seu outro código não estava funcionando, seria uma saída.

Ricardo de Oliveira

JavaC Membro

Membro desde: 08/03/2017 17:13:48
Mensagens: 27
Offline

robertop wrote:Bom dia!
Sim, ele esta deprecated, mas por enquanto esta funcionando bem.

Como o seu outro código não estava funcionando, seria uma saída.




é parece que vc tirou um futuro careca da fila, não vê que funcionou, agora preciso descobrir alguma classe que não esteja descontinuada para substituir, mas deu certinho valew, Deus te abençoes pela ajuda

Esta mensagem foi editada 1 vez. Última atualização foi em 01/04/2019 11:42:00

robertop

JavaC Membro

Membro desde: 10/07/2013 20:08:36
Mensagens: 358
Offline

Maravilha!
Abraço!
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.9 © JForum Team