Tengo el siguiente codigo que utilizo para imprimir directamente en una implesora termica para hacer etiqueta y funciona bien
Código Java:
Ver original//Obtenemos la impresora por defecto
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
int[] diasDeMeses = new int[]{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31, 30, 31};
int mes = fecha.getMonth();
int dia = fecha.getDate();
int dia2 = 0;
int dias = 0;
for (int i = 0; i < mes; i++) {
dia2 = diasDeMeses[i];
dias = dias + dia2;
}
dias = dias + dia;
String dias_acum
= "" + dias
+ ""; if (dias_acum.length() == 1) {
dias_acum = "00" + dias_acum;
}
if (dias_acum.length() == 2) {
dias_acum = "0" + dias_acum;
}
int iNumero = fecha.getYear();
int anio = iNumero % 10;
String julian_ind
= anio
+ dias_acum
; String zplCommand
= "Hola Mundo"; // convertimos el comando a bytes
byte[] by = zplCommand.getBytes();
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
Doc doc = new SimpleDoc(by, flavor, null);
// creamos el printjob
DocPrintJob job = printService.createPrintJob();
// imprimimos
job.print(doc, null);
}
la Pregunta es la siguiente como puedo mandar a imprimir a una impresora q yo elija dandole el nombre, ya que si utiliso DocPrintJob no le puedo mandar un nombre de impresora
como puedo hacer eso?, decirle al DocPrinJob a que impresora imprimir sin usar un dialogo como en PrinJob
tengo este otro codigo en el cual puedo saber que impresoras tngo instaladas pero la diferencia radica en que en esta linea
Código Java:
Ver originalPrintService printService = PrintServiceLookup.lookupDefaultPrintService();
la convierto en arrglo para poder sacar las impresoras y asi poder utilizar una impresora que elija pero solo usando PrintJob con DocPrintJob no puedo
este es el otro codigo
Código Java:
Ver original item_no = item;
ident = iden;
country_o = country;
country_o2 = country2;
qty2 = qty;
cus = cust_num;
book.append(new IntroPage(), printJob.defaultPage());
printJob.setPageable(book);
//aqui obtengo el arreglo de todas las impresoras que tengo instaladas
PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
for (PrintService printService : services) {
if (count == 0) {
//aqui le digo al servicio a que impresora quiero q me imprima
printName = printService.getName();
}
count = count + 1;//junto con este
}
aset.add(new PrinterName(printName, null));
services = PrintServiceLookup.lookupPrintServices(null, aset);
for (PrintService printService : services) {
PrintService printers[] = PrintServiceLookup.lookupPrintServices(null, aset);
if (printers.length == 1) {
printJob.setPrintService(printers[0]);
try {
//mando imprimir
printJob.print();
band = true;
count = 0;
resp();
PrintException.printStackTrace();
}
}
}
}
espero puedan ayudarme necesito hacer algo parecido pero con DocPrintJob
de Antemano Gracias