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
Un array es un conjunto finito y ordenado de elementos homogeneos. Ordenado porque los elementos n-esimo de un array pue[...]
La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Este algoritmo es esencialmen[...]
TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto[...]
En este post hablaremos sobre la biblioteca de Apache PDFBox el cual es una herramienta para java de código abierto que[...]
La página oficial de Retrofit, se describe así misma como «Un cliente REST seguro para Android y Java». Y es así, ya qu[...]
Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten incrementar y dec[...]