Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2014, 08:31
Avatar de Gck_Wolf
Gck_Wolf
 
Fecha de Ingreso: enero-2011
Mensajes: 11
Antigüedad: 13 años, 4 meses
Puntos: 1
Busqueda Seleccionar impresora

saludos ya estuve al menos una semana investigando tomando código de aquí y allá y en parte obtuve un adelanto pero al final no sirvió mas que una parte. por ahora tengo estas 2 de 3 partes para lo que requiero su ayuda la primera parte es tener una lista de las impresoras que detecta una aplicación java ay creada esta nos devuelve un string que contiene el nombre de la impresora.
la segunda parte es la creación de un archivo de excel que se guarda en la maquina donde se le diga su ubicación

así que tenemos tanto el nombre del archivo así como su ubicación y el nombre de la impresora. necesito u método que use estos dos valores para imprimir el archivo en la impresora que seleccione. ya investigue pero por aora o encuentro nada, en vez de eso encontré el como trasformar en pdf (lo cual si usare pero me urge la imprecion)

este es el código pero aunque manda la orden de imprimir no hace nada con ninguna de las opciones que le doy para imprimir
el archivo queda en cola luego dice que hubo un error por lo que no lo imprime.

public void imprimir(String impresora) {
Exportar(1);
try {
inputStream = new FileInputStream(archivo);
} catch (FileNotFoundException e) {
System.out.println("errror imprecion" + e);
}

DocFlavor docFormat = DocFlavor.INPUT_STREAM.AUTOSENSE;
Doc document = new SimpleDoc(inputStream, docFormat, null);

PrintRequestAttributeSet attributeSet = new HashPrintRequestAttributeSet();
AttributeSet aset = new HashAttributeSet();
aset.add(new PrinterName(impresora, null));

PrintService[] defaultPrintService = PrintServiceLookup.lookupPrintServices(null, aset);

DocPrintJob printJob = defaultPrintService[0].createPrintJob();
try {
printJob.print(document, attributeSet);

} catch (PrintException e) {
System.out.println("Error al imprimir "+e);
}
try {
inputStream.close();
} catch (IOException ex) {
Logger.getLogger(exRenglon.class.getName()).log(Le vel.SEVERE, "Existe error al imprimir ", ex);
}

archivo = null;
}

}