Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Java / Imprimir imagen con Print

Imprimir imagen con Print

Por jc mouse viernes, mayo 4, 2012

susto a media noche

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

Tags

Artículos similares

Arreglos en Visual Basic

Un array es un conjunto finito y ordenado de elementos homogeneos. Ordenado porque los elementos n-esimo de un array pue[...]

Ordenación de burbuja animado

La Ordenación de burbuja (Bubble Sort en inglés) es un sencillo algoritmo de ordenamiento. Este algoritmo es esencialmen[...]

TextToSpeech: Convierte texto a voz

TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto[...]

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

En este post hablaremos sobre la biblioteca de Apache PDFBox el cual es una herramienta para java de código abierto que[...]

Introducción a Retrofit: Cliente para consumir un API REST

La página oficial de Retrofit, se describe así misma como «Un cliente REST seguro para Android y Java».  Y es así, ya qu[...]

JSpinner: Cambiar color de fondo y fuente

Un JSpinner es un componente swing de java con una caja de texto y un par de botones que nos permiten incrementar  y dec[...]