Query the print services available within Java
PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, null);
Next create a printer job. This will have the default print service
set. Alter the print service that the PrinterJob uses to print out.
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.setPrintService(printServices[yourChoice]);
Finally create the JCPrinter option. It appears that you can put in a
null as the PageFormat - although this isn't documented. This will then
print to the print service specified in the printerJob variable.
JCPrinter printer = new JCAWTPrinter(printerJob, null, template, false);