jueves, 8 de octubre de 2009

Impresion desde Java en Impresora Termica

La siguiente rutina permite imprimir directamente a una impresora termica conectada al puerto paralelo (no, no se conecta a Rodrigo). Este mismo codigo puede ser utilizado en delphi, visual basic, c, c ++, rpg de as/400 o en el que se requiera, lo unico es crear el archivo de salida, en vez de enviarlo a un archivo en disco duro se manda al LPT1 o al spool o el caso que requieran.

public void ImprimeTermico() {
output = new FileWriter("LPT1:");
BufferedWriter salida = new BufferedWriter(output);
//Estos son comandos de control para la impresora termica, verifica si son compatibles
// para la impresora que estes usando

writeln("XXXXXXXXXXXXXXX");
writeln("XXXXXXXXXXXXXXX");
writeln("XXXXXXXXXXXXXXX");
writeln("AU");
writeln("OD");
//Este es el archivo interno de la impresora, hay que borrarlo para que no se duplique
// en cada impresion
writeln("FK\"NUEVAIMPRESION\"");
writeln("FK\"NUEVAIMPRESION\"");
writeln("FS\"NUEVAIMPRESION\"");
//Este es el tamño de la impresion, verifica cual se adapta al tamaño de la hoja
writeln("q664");
writeln("Q1152,B24+24");
writeln("S3");
writeln("D8");
writeln("ZT");
writeln("TTh:m");
writeln("TDy2.mn.dd");

// Imprimir lo que necesites
// Verifica los parametros, la A es para definir que es un alfanumerico, si es una B es
//para Codigos de barras, los siguientes creo que son , posicion x y y, tamaño, orientacion
// y no se que mas sean
writeln("A100,20,5,3,1,1,N,\"" + "MENSAJE A IMPRIMIR" + "\"");
//Con esto ultimo se cierra el archivo de trabajo de la impresora
writeln("FE");
writeln("FR\"NUEVAIMPRESION\"");
writeln("P1");
writeln("XXXXXXXXXXXXXXX");
writeln("XXXXXXXXXXXXXXX");
writeln("XXXXXXXXXXXXXXX");
salida.close();

public void writeln(String linea){
try {
_bufOutput.write(linea, 0, linea.length());
_bufOutput.newLine();
} catch (IOException e) {
e.printStackTrace();
}
}

3 comentarios:

  1. A chinga ahora resulta que ya sabes hacer esa rutina y en estrella blanca no te salia, jajajaja por eso estab las cosas como estaban jajajaja

    ResponderEliminar
  2. Necesito imprimir con java en impresora termica, esta conectada al PC por el puerto serial (COM1), pase el codigo a unj boton en java, una vez q apreto el boton manda a escribir en la impresora termica pero escribe puros caracteres extraños ?

    ResponderEliminar
  3. Que impresora es? Generalmente vienen por default de fabrica en print mode, el codigo de aqui es para el lenguaje EPL que es un lenguaje para impresoras termicas, hay que configurar la impresora, checa el manual de esta

    ResponderEliminar