-
-
Save cuahutli/84b2c1d41249d364222c615ec514d66b to your computer and use it in GitHub Desktop.
Imprimir con Java en una impresora de tickets Epson tmu 220
En muchos lugares se habla de como imprimir con Java en una epson tmu 220 , he encontrado mucho sobre y he encontrado muchas recomendaciones de usar epson java pos (http://www.javapos.com/devices.html) sin embargo si lo que se requiere es algo más simple aunque no tan potente es simplem…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.*; | |
/** | |
* Class declaration | |
* | |
* | |
* @author | |
* @version 1.10, 08/04/00 | |
*/ | |
public class impresora { | |
//Variables de acceso al dispositivo | |
private FileWriter fw; | |
private BufferedWriter bw; | |
private PrintWriter pw; | |
private String dispositivo=”"; | |
/** Esta funcion inicia el dispositivo donde se va a imprimir */ | |
public void setDispositivo( String texto ) { | |
dispositivo=texto; | |
if(texto.trim().length()<=0){//Si el dispositivo viene en blanco el sistema tratara de definirlo | |
Session misession=new Session(); | |
dispositivo=misession.impresora_tiquets(); | |
if(dispositivo.trim().length()<=0){ | |
if(misession.isWindows()){ | |
dispositivo=”LPT1″;//Esto si es windows | |
}else{ | |
dispositivo=”/dev/lp0″;//Esto si es linux | |
} | |
} | |
} | |
try{ | |
fw = new FileWriter(dispositivo); | |
bw = new BufferedWriter (fw); | |
pw = new PrintWriter (bw); | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void escribir( String texto ) { | |
try{ | |
pw.println(texto); | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void cortar( ) { | |
try{ | |
char[] ESC_CUT_PAPER = new char[] { 0x1B, ‘m’}; | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(ESC_CUT_PAPER); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void avanza_pagina( ) { | |
try{ | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(0x0C); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void setRojo( ) { | |
try{ | |
char[] ESC_CUT_PAPER = new char[] { 0x1B, ‘r’,1}; | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(ESC_CUT_PAPER); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void setNegro( ) { | |
try{ | |
char[] ESC_CUT_PAPER = new char[] { 0x1B, ‘r’,0}; | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(ESC_CUT_PAPER); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void setTipoCaracterLatino( ) { | |
try{ | |
char[] ESC_CUT_PAPER = new char[] { 0x1B, ‘R’,18}; | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(ESC_CUT_PAPER); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void setFormato(int formato ) { | |
try{ | |
char[] ESC_CUT_PAPER = new char[] { 0x1B, ‘!’,(char)formato}; | |
if(!this.dispositivo.trim().equals(“pantalla.txt”)){ | |
pw.write(ESC_CUT_PAPER); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void correr(int fin){ | |
try{ | |
int i=0; | |
for(i=1;i<=fin;i++){ | |
this.salto(); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void salto() { | |
try{ | |
pw.println(“”); | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public void dividir(){ | |
escribir(“—————————————-”); | |
} | |
public void cerrarDispositivo( ){ | |
try{ | |
pw.close(); | |
if(this.dispositivo.trim().equals(“pantalla.txt”)){ | |
java.io.File archivo=new java.io.File(“pantalla.txt”); | |
java.awt.Desktop.getDesktop().open(archivo); | |
} | |
}catch(Exception e){ | |
System.out.print(e); | |
} | |
} | |
public static void main(String args[]) { | |
impresora p=new impresora(); | |
p.setDispositivo(“”); | |
p.escribir((char)27+”m”); | |
p.setTipoCaracterLatino(); | |
p.setRojo(); | |
p.escribir(“Esto es una prueba”); | |
p.setNegro(); | |
p.escribir(“esto es negro”+(char)130); | |
p.setFormato(24); | |
p.escribir(“esto es negro con formato”); | |
p.setFormato(1); | |
p.escribir(“esto es negro con formato”); | |
p.correr(10); | |
p.cortar(); | |
p.cerrarDispositivo(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
impresora tiquete=new impresora(); | |
tiquete.escribir(“ Esto es una linea “); | |
tiquete.escribir(“Esto es otra linea”); | |
tiquete.escribir(“Otra linea mas”); | |
//Esto es para escribir una linea divisoria | |
tiquete.dividir(); | |
//esto cambia el formato de acuerdo a las especificaciones de epson | |
tiquete.setFormato(1); | |
tiquete.escribir(“ Mas texto con letra mas grande “); | |
tiquete.setFormato(1); | |
tiquete.escribir(“texto con letra normal”); | |
tiquete.dividir(); | |
tiquete.setRojo(); | |
tiquete.escribir(“Texto en rojo”))); | |
tiquete.setNegro(); | |
tiquete.escribir(“Texto en negro”))); | |
tiquete.correr(10);//Esto baja 10 lineas en blanco | |
tiquete.cortar();//Esto corta el papel de la impresora | |
tiquete.cerrarDispositivo();//Cierra el dispositivo y aplica el texto |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment