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

Simulador de Urna Electrónica en java

Hola 🙂 en esta ocasión un amigo del Brasil nos envía un proyecto java de una Urna Electrónica o Voto Electronico, desarr[...]

JSON Web Token para Java y Android

Un JSON Web Token es un estandar abierto para la creación de Token de Acceso el cual permite firmar digitalmente informa[...]

SwingWorker con base de datos

Cuando se realizan aplicaciones en java con base de datos y se llega a un punto donde es necesario realizar una consulta[...]

Leer archivos de texto

En este tutorial de android, vemos como leer un archivo de texto y mostrarlo en pantalla del celular, el texto elegido e[...]

Crear web multi-lenguaje con php

En este tutorial realizaremos un proyecto web de un «sitio multi lenguaje» o «web multi idiomas» como prefieran llamarlo[...]

Firebird iSQL – introducción

iSQL: Es una herramienta de linea de comandos que acompaña a Firebird, se encuentra en la carpeta BIN, sirve para realiz[...]