Hola que tal, cuando ejecuto este codigo no me imprime nada por la impresora. Solamente se dispara el evento: printJobNoMoreEvents y printDataTransferComplete, que estoy haciendo mal?????.
import javax.print.*;
import javax.print.attribute.*;
public class ImprimeTexto3 {
ImprimeTexto3 (String str) {
//Cogemos el servicio de impresión por defecto (impresora por defecto)
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
//Le decimos el tipo de datos que vamos a enviar a la impresora
//Tipo: bytes Subtipo: autodetectado
DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
//Creamos un trabajo de impresión
DocPrintJob pj = service.createPrintJob();
//Nuestro trabajo de impresión envía una cadena de texto
String ss = new String(str);
byte[] bytes;
//Transformamos el texto a bytes que es lo que soporta la impresora
bytes = ss.getBytes();
//Creamos un documento
Doc doc = new SimpleDoc(bytes,flavor,null);
//Obligado coger la excepción PrintException
try {
//Mandamos a imprimir el documento
pj.print(doc, null);
} catch (PrintException e) {
e.printStackTrace();
}
}
public static void main (String args[]) {
ImprimeTexto3 it = new ImprimeTexto3("Texto para imprimir");
}
}