Created
May 12, 2016 14:13
-
-
Save RafaelBatistaJiron/73c50ab10ef5bcc67d25d49a78597e37 to your computer and use it in GitHub Desktop.
Este código es para poder imprimir en impresoras matriciales de forma sencilla, el código no es mio, solo hice una modificación para que funcione, debido a que en el articulo original faltaba una clase para identificar cual es el sistema operativo en que se esta imprimiendo.
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
/* | |
Author By: sergiougalde | |
Update By: RBJ | |
Update Date: Sept. 2015 | |
Original URL: https://gist.github.com/sergiougalde/6247269 | |
source: GitHub Gits | |
*/ | |
public class Impresora { | |
private FileWriter fw; //Variables de acceso al dispositivo | |
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 | |
if(dispositivo.trim().length()<=0){ | |
dispositivo="LPT1"; //para imprimir en windows | |
} | |
} | |
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); | |
} | |
} | |
} |
Se puede imprimir desde una aplicación web de lado de servidor
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
El método correr sirve para imprimir lineas en blanco. cualquier duda o recomendación no duden en hacerla y trataremos de buscar la solución juntos.