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 post crearemos una aplicación en Android Studio para conectarnos con nuestra base de datos de Firebase y leer al[...]
El Método de Sustitución Directa básicamente consiste en asumir un valor, reemplazar el mismo en la función despejada y[...]
En un post anterior conocimos que es y como funciona un parámetro de entrada IN en procedimientos almacenados y lenguaje[...]
Segunda parte del tutorial «Crea un servicio web REST con PHP y MYSQL«, en esta segunda y ultima parte se completara la[...]
En este post te enseñamos a utilizar SCRCPY, esta es un aplicación de duplicación de pantalla gratuita y de código abier[...]
La clase Canvas (Lienzo) de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para[...]