O componente sendToPrinter suporta os seguintes protocolos:
- CUPS
- DirectIP
- LPD
- SharedPrinter
- CIFS
No caso de SharedPrinter, o URI do servidor não é usado e apenas o Nome da Impressora é usado. No entanto, o valor para o Nome da Impressora pode ser difícil de localizar, uma vez que pode ser diferente do UNC.
O código a seguir pode ser usado em uma operação executeScript para listar as impressoras compartilhadas disponíveis no servidor:
import javax.print.*;
PrintServiceLookup.lookupPrintServices(null, null);
Inicie-----");
for(PrintService svc:svcs){
if(svc!=null){
"+svc.getName());
}
}
System.out.println("PrintServices Log
Fim-----");
Isso resulta na seguinte saída no arquivo de log do servidor:
[06/05/16
13:17:15:746 BST] 0000026d SystemOut O PrintServices Log Start-----
[06/05/16
13:17:15:762 BST] 0000026d SystemOut O PrintSvc : ZDesigner S4M-300dpi ZPL
[06/05/16
13:17:15:762 BST] 0000026d SystemOut O PrintSvc : server
[06/05/16
13:17:15:762 BST] 0000026d SystemOut O PrintSvc : Send To OneNote 2013
[06/05/16
13:17:15:762 BST] 0000026d SystemOut O PrintSvc : Microsoft XPS Document Writer
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintSvc : LPT1
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintSvc : Fax
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintSvc : Epson ESC/P-R
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintSvc : Adobe PDF
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintSvc : \\EDINBURGH-PRINT\Canon EDI-COE
[06/05/16
13:17:15:763 BST] 0000026d SystemOut O PrintServices Log End-----
Você pode usar essa saída para configurar a operação sendToPrinter: