Localizar Impressora no java

Fala pessoal, esta com uma dúvida esses dias e não consegui achar resposta em lugar algum… A dúvida é o seguinte, seria possível fazer com que seja definida uma impressora para o java? sem ser a padrão, e sem abrir outra janela para que ele selecione, estou trabalhando com nfce e integração com outro sistema, a ideia é que o outro sistema continuasse utilizando a impressora padrão e o frente utilizasse a outra impressora epson, existe alguma forma de fazer isso?

Dá uma olhada na documentação da classe PrintServiceLookup, com ela você pode listar todas as impressoras da máquina, ou somente uma impressora específica.

https://docs.oracle.com/javase/7/docs/api/javax/print/PrintServiceLookup.html

Um exemplo:

AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName("nome da impressoa epson", null));
PrintService[] pservices = PrintServiceLookup.lookupPrintServices(null, aset);
1 curtida