Imprimir na impressora padrão através do TomCat
23/06/2015
0
Olá pessoal, estou com uma duvida que pra mim está sem bem difícil resolver, a situação é a seguinte:
Estou desenvolvendo uma aplicação android integrado com um serviço web TomCat e em laboratório (Eclipse JEE) ela chegou em um nível satisfatório, realizando consultas, impressões na impressora padrão, tudo tranquilo, mas quanto eu levanto o serviço para o TomCat ele não realiza a impressão, é como se não houvesse impressora conectada no servidor.
O código abaixo é o usado para realizar a impressão quando estou disponibilizando o serviço diretamente do eclipse.
try{
InputStream prin = new ByteArrayInputStream(textoimp.getBytes());
INPUT_STREAM docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
SimpleDoc documentoTexto = new SimpleDoc(prin, docFlavor, null);
PrintService impressora = PrintServiceLookup.lookupDefaultPrintService(); // pega a impressora padrao
PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();
printerAttributes.add(new JobName("Impressao", null));
printerAttributes.add(OrientationRequested.PORTRAIT);
printerAttributes.add(MediaSizeName.ISO_A4); // informa o tipo de folha
DocPrintJob printJob = ((PrintService) impressora).createPrintJob();
try{
printJob.print(documentoTexto, (PrintRequestAttributeSet)printerAttributes); //tenta imprimir
}
catch(PrintException e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Não foi possível realizar a impressão !!", "Erro", JOptionPane.ERROR_MESSAGE);
}
prin.close();
}
catch(Exception e){
e.printStackTrace();
return false;
}
Porém quando o serviço está rodando dentro do TomCat ele não funciona, alguém pode me ajudar?
Dês de já, agradeço.
Abraço.
Estou desenvolvendo uma aplicação android integrado com um serviço web TomCat e em laboratório (Eclipse JEE) ela chegou em um nível satisfatório, realizando consultas, impressões na impressora padrão, tudo tranquilo, mas quanto eu levanto o serviço para o TomCat ele não realiza a impressão, é como se não houvesse impressora conectada no servidor.
O código abaixo é o usado para realizar a impressão quando estou disponibilizando o serviço diretamente do eclipse.
try{
InputStream prin = new ByteArrayInputStream(textoimp.getBytes());
INPUT_STREAM docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
SimpleDoc documentoTexto = new SimpleDoc(prin, docFlavor, null);
PrintService impressora = PrintServiceLookup.lookupDefaultPrintService(); // pega a impressora padrao
PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();
printerAttributes.add(new JobName("Impressao", null));
printerAttributes.add(OrientationRequested.PORTRAIT);
printerAttributes.add(MediaSizeName.ISO_A4); // informa o tipo de folha
DocPrintJob printJob = ((PrintService) impressora).createPrintJob();
try{
printJob.print(documentoTexto, (PrintRequestAttributeSet)printerAttributes); //tenta imprimir
}
catch(PrintException e){
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Não foi possível realizar a impressão !!", "Erro", JOptionPane.ERROR_MESSAGE);
}
prin.close();
}
catch(Exception e){
e.printStackTrace();
return false;
}
Porém quando o serviço está rodando dentro do TomCat ele não funciona, alguém pode me ajudar?
Dês de já, agradeço.
Abraço.
Eriberto Junior
Curtir tópico
+ 0
Responder
Posts
25/01/2018
Roberto Pereira
Alguém tem uma resposta para essa pergunta, também estou com o mesmo problema, rodando localmente imprime normal, porém depois que coloco no Tomcat, o meu não imprime mais e fica em um loop infinito.
Responder
25/01/2018
Eriberto Junior
Oi Roberto.
Abre as configurações do TomCat Monitor, vai na aba "Log On" e verifica se o check-box "Allow service to interact with desktop" está marcado.
Abre as configurações do TomCat Monitor, vai na aba "Log On" e verifica se o check-box "Allow service to interact with desktop" está marcado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)