Gustavo Peiretti
Lo que me gusta, me interesa y me motiva…
-
Imprimiendo con Java
Este es un ejemplo simple sobre cómo puedes imprimir un archivo desde Java…import java.io.FileInputStream; import java.io.FileNotFoundException; import javax.print.Doc; import javax.print.DocFlavor; import javax.print.DocPrintJob; import javax.print.PrintException; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.SimpleDoc; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Copies; import javax.print.attribute.standard.MediaSizeName; public class PrintGIF { public static void main(String args[]) { // tu archivo a imprimir String file = "c:\\image.gif"; // definimos el tipo a imprimir DocFlavor docFlavor = DocFlavor.INPUT_STREAM.GIF; // establecemos algunos atributos de la impresora PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); aset.add(MediaSizeName.ISO_A4); aset.add(new Copies(1)); // mi impresora por default PrintService service = PrintServiceLookup.lookupDefaultPrintService(); Doc docPrint; try { docPrint = new SimpleDoc(new FileInputStream(file), docFlavor, null); } catch (FileNotFoundException e1) { e1.printStackTrace(); return; } // inicio el proceso de impresion... DocPrintJob printJob = service.createPrintJob(); try { printJob.print(docPrint, aset); } catch (PrintException e) { e.printStackTrace(); return; } } }
Quizás te interese también este artículo
Manejando tus impresoras con Java -
Manejando tus impresoras con Java
¿Cómo ver todas las impresoras disponibles con java, la impresora que tienes por default y otros atributos de tus impresoras?
Aquí van algunos ejemplos simples…—
import 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()); } } }
—

