java seleccionar impresora
1import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.attribute.Attribute; import javax.print.attribute.AttributeSet; import javax.print.attribute.HashAttributeSet; import javax.print.attribute.PrintServiceAttributeSet; import javax.print.attribute.standard.Destination; import javax.print.attribute.standard.PrinterInfo; import javax.print.attribute.standard.PrinterIsAcceptingJobs; import javax.print.attribute.standard.PrinterLocation; import javax.print.attribute.standard.PrinterMakeAndModel; import javax.print.attribute.standard.PrinterName; import javax.print.attribute.standard.PrinterState; /** * Ejemplos para ver tus impresoras * @author Peiretti */ public class PrintExamples { /** * @param args */ public static void main(String[] args) { printAvailable(); printDefault(); printByName("MiImpresora"); } public static void printAvailable() { // busca los servicios de impresion... PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); // -- ver los atributos de las impresoras... for (PrintService printService : services) { System.out.println(" ---- IMPRESORA: " + printService.getName()); PrintServiceAttributeSet printServiceAttributeSet = printService.getAttributes(); System.out.println("--- atributos"); // todos los atributos de la impresora Attribute[] a = printServiceAttributeSet.toArray(); for (Attribute unAtribute : a) { System.out.println("atributo: " + unAtribute.getName()); } System.out.println("--- viendo valores especificos de los atributos "); // valor especifico de un determinado atributo de la impresora System.out.println("PrinterLocation: " + printServiceAttributeSet.get(PrinterLocation.class)); System.out.println("PrinterInfo: " + printServiceAttributeSet.get(PrinterInfo.class)); System.out.println("PrinterState: " + printServiceAttributeSet.get(PrinterState.class)); System.out.println("Destination: " + printServiceAttributeSet.get(Destination.class)); System.out.println("PrinterMakeAndModel: " + printServiceAttributeSet.get(PrinterMakeAndModel.class)); System.out.println("PrinterIsAcceptingJobs: " + printServiceAttributeSet.get(PrinterIsAcceptingJobs.class)); } } public static void printDefault() { // tu impresora por default PrintService service = PrintServiceLookup.lookupDefaultPrintService(); System.out.println("Tu impresora por default es: " + service.getName()); } public static void printByName(String printName) { PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null); // buscar por el nombre de la impresora (nombre que le diste en tu S.O.) // en "aset" puedes agregar mas atributos de busqueda AttributeSet aset = new HashAttributeSet(); aset.add(new PrinterName(printName, null)); //aset.add(ColorSupported.SUPPORTED); // si quisieras buscar ademas las que soporten color services = PrintServiceLookup.lookupPrintServices(null, aset); if(services.length == 0){ System.out.println("No se encontro impresora con nombre " + printName); } for (PrintService printService : services) { System.out.println(printService.getName()); } } } 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91