Olá,
A API Java Print Service fornece um meio de descobrir os nomes das impressoras na máquina local, mas não encontrei uma forma de fazer o mesmo para o nome do compartilhamento das impressoras.
Por exemplo, o programa abaixo mostra o nome de todas as impressoras instaladas na máquina:
import javax.print.*;
public class ListaImpressoras {
public static void main(String [] args) throws Exception {
PrintService [] services = PrintServiceLookup.lookupPrintServices(null, null);
for(int i = 0; i < services.length; i++) {
PrintService p = services[ i ];
System.out.println(p.getName());
}
}
}
Eu preciso fazer algo semelhante para selecionar o PrintService, mas não pelo nome da impressora e sim pelo nome do compartilhamento na rede.
Por exemplo, uma das impressoras aqui retorna o seguinte nome pelo programa acima:
\\Epson LX-300
mas o nome do compartilhamento é:
\\EpsonLX
Alguém sabe se é possível encontrar esse nome de compartilhamento (UNC path) a partir do nome da impressora ou mesmo se existe alguma API no java pra conseguir isso?
Obrigado pela atenção!