PessoALL:
Quando tento imprimir diretamente para uma impressora que está instalada e compartilhada em um micro da rede, usando:
FileOutputStream fos = new FileOutputStream("\\micro\nomedaporta");
PrintWriter ps = new PrintWriter( fos );
ps.print(“teste”);
Tudo funciona perfeitamente.
Para capturar todas as impressoras instaladas no meu micro, eu utilizo uma estrutura semelhante a esta:
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null );
if(services.length > 0) {
for (int i = 0; i < services.length; i++ ) {
// realiza uma iteração para verificar todas as impressoras instaladas
}
}
Nesse caso, eu consigo um array com todas as impressoras instaladas no micro.
Porém, o retorno de services[i].getName é algo semelhante a “\\micro\nomedaimpressora”.
E, para setar a impressora corretamente, eu precisaria fornecer “\\micro\nomedaporta”.
Existe algum método para se descobrir a porta da impressora?
[]s
Rafael