Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

amiloM1425

Definir impressora

Mensagens Recomendadas

amiloM1425    0
amiloM1425

Olá pessoal,

tenho uma dúvida, já pesquisei por uma série de sítios só que ainda não encontrei uma solução para o que pretendo fazer.

Tenho a lista de impressoras que posso utilizar para imprimir, agora não sei como definir qual a impressora a utilizar.

Alguém me pode dar uma ajuda?

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter

Dependendo de como estiveres a fazer podes experimentar usar as classes java.awt.print.PrinterJob e java.awt.JobAttributes, e especificamente o método setPrinter da última classe, que te permite definir o nome da impressora a usar num processo de impressão.

Um artigo que poderá ajudar: http://www.javaworld.com/javaworld/jw-07-2005/jw-0725-print.html

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Eriberto Junior    0
Eriberto Junior

Usa isso, me baseei no artigo postado por Knitter, funcionou para mim:

try{

InputStream prin = new ByteArrayInputStream(textoimp.getBytes()); //"textoimp" é a String que você quer imprimir na impressora.

INPUT_STREAM docFlavor = DocFlavor.INPUT_STREAM.AUTOSENSE;

SimpleDoc documentoTexto = new SimpleDoc(prin, docFlavor, null);

PrintService[] listaImpressora = PrintServiceLookup.lookupPrintServices(null, null); //Pegando lista de impressoras

for (PrintService printService : listaImpressora) {

System.out.println(printService.getName());// Listando impressoras

if(printService.getName().equals("Daruma RC")){ /* Dizendo que impressora usar, no meu caso a impressora de nome Daruma RC*/

System.out.println("^^");//<-Apagar depois, é só para indicar no console que impressora foi usada

PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();

printerAttributes.add(new JobName("Generic / Text", null));

printerAttributes.add(OrientationRequested.LANDSCAPE);

printerAttributes.add(MediaSizeName.ISO_A4); // informa o tipo de folha

DocPrintJob printJob = ((PrintService) printService).createPrintJob();

try{

printJob.print(documentoTexto, (PrintRequestAttributeSet)printerAttributes); //tenta imprimir

}catch(PrintException e){

e.printStackTrace();

}

prin.close();

}

}

}catch(Exception e){

e.printStackTrace();

}

Espero tem ajudado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita a nossa Política de Privacidade