Imprimir TXT con Java

realshit
06 de Octubre del 2004
Holassss !!

Intento imprimir el contenido de un fichero .txt en la impresora por defecto.

Leo el fichero, y el siguiente método me acepta un string, que símplemente, imprime...

public void PrintFileString(String fileContent){

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

// Obteniendo el printService
PrintService service = PrintServiceLookup.lookupDefaultPrintService();

if (service != null){
System.out.println("Default Printer: " + service.getName());

// Creando el DocPrintJob
DocPrintJob job = service.createPrintJob();
try{
// String a InputStream
ByteArrayInputStream bais = new ByteArrayInputStream(fichero.getBytes());
Doc doc = new SimpleDoc(bais,flavor,null);
job.print(doc,aset);
}
catch(Exception a){
System.out.println(a + "error");
}
}
}

Puedo imprimir en la impresora por defecto, pero necesito cambiar ciertos aspectos, como por ejemplo el número de copias, la orientación (horizontal o apaisada), los márgenes del documento...

Alguien puede echarme una mano ??
He mirado mucho por ahí, pero no me aclaro con la maldita impresión....

Si alguien tiene las ideas muy claras y además de las dudas puntuales, me puede explicar así a grandes rasgos el funcionamiento... o pasarme un tutorial de impresión... pues se lo agradecería infinito...

Muchíiiiiiisimas gracias.