La siguiente clase hace uso de PRINT para imprimir una imagen que se encuentra en un variable de tipo FileInputStream, esta clase a su vez es implementada desde una interfaz que hace fácil su uso, la clase así como todo el proyecto esta comentado.
import java.io.File; import javax.print.Doc; import java.io.IOException; import javax.print.DocFlavor; import javax.print.SimpleDoc; import java.io.FileInputStream; import javax.print.DocPrintJob; import javax.print.PrintService; import javax.swing.JFileChooser; import javax.print.PrintException; import javax.print.PrintServiceLookup; import javax.print.attribute.standard.Copies; import javax.print.attribute.PrintRequestAttributeSet; import javax.swing.filechooser.FileNameExtensionFilter; import javax.print.attribute.HashPrintRequestAttributeSet; /** * @web https://www.jc-mouse.net * @author Mouse */ public class jcPrint { private JFileChooser fileChooser; private FileNameExtensionFilter filter = new FileNameExtensionFilter("Imagen","jpg","gif","png"); private FileInputStream fileInputStream = null; private File file=null; public jcPrint(){} public boolean Abrir() { fileChooser = new JFileChooser(); fileChooser.setFileFilter(filter); int result = fileChooser.showOpenDialog(null); if ( result == JFileChooser.APPROVE_OPTION ){ try { this.fileInputStream = new FileInputStream( fileChooser.getSelectedFile() ); this.file = fileChooser.getSelectedFile(); return true; } catch (IOException ex) { System.out.println("Error al abrir archivo " + ex); } } return false; } public String getPathImage() { return this.file.toString(); } //funcion que imprime una imagen almacenda en "fileInputStream" public void Imprimir() { if( this.fileInputStream != null ) { try { //atributos de la impresora PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet(); pras.add(new Copies(1)); //Impresora configurada del sistema PrintService ps = PrintServiceLookup.lookupDefaultPrintService(); DocPrintJob docPrintJob = ps.createPrintJob(); Doc doc = new SimpleDoc(fileInputStream, DocFlavor.INPUT_STREAM.GIF, null); docPrintJob.print(doc, pras); fileInputStream.close(); } catch (PrintException ex) { System.out.println(ex); } catch (IOException ex) { System.out.println(ex); } finally { try { fileInputStream.close(); } catch (IOException ex) { System.out.println(ex); } } } } }
IDE: Netbeans 6.9
Bájate el proyecto desde este enlace
En este tutorial personalizaremos un JTextField java para darle la apariencia de un TextBox de Windows Metro. El TextBox[...]
Un SGA «Sistema de Gestión de Almacenes» es un programa informático destinado a gestionar las entradas y salidas de pro[...]
La siguiente clase reproduce sonidos WAV en controles Swing de Java Netbeans, los controles son pasados en el constructo[...]
En este post iremos conociendo de un modo práctico que es y como se utiliza un Array en java, para esto partiremos de un[...]
Si necesitamos mostrar gráficos estadísticos en nuestras aplicaciones android, contamos con muchas librerías disponibles[...]
En este post aprenderemos lo que es la clonación de objetos en java o lo que es lo mismo, generación de nuevas instancia[...]