me podrian apoyar porfavor, se los agradecere
saludos, tengo una impresora termica que acepta solo caracteres ascci, por el puerto paralelo, hice un programita que al parecer funciona bien, el problema que tengo es que cuando lo ejecuto no manda a imprimir sino hasta que mando algun otro me imprime el primero he aqui el codigo
import java.io.*;
import java.util.*;
import javax.comm.*;
public class Escritormeq
{
static CommPortIdentifier idPort;
static SerialPort sPort;
static ParallelPort pPort;
static OutputStream os;
static OutputStream salida;
static String mensaje = "!0 110 40 1nTEXT 8*8 42 0 FERCHITO TE AMOnBARCODE CODE39 110 30 29 12345nINDEXnSTOP";
public static void main(String[] args)
{
// Lo primero que hacemos es abrir el puerto
try{
idPort = CommPortIdentifier.getPortIdentifier("LPT1");
}
catch (NoSuchPortException e)
{System.err.println("ERROR al identificar puerto");}
try{
pPort = (ParallelPort) idPort.open("Escritor", 300);
try{
os=pPort.getOutputStream();
}
catch (IOException e) { }
}
catch (PortInUseException e)
{ System.err.println("ERROR al abrir puerto");}
try{
byte[] b=mensaje.getBytes("US-ASCII");
os.write(b);
}
catch (IOException e) { System.err.println("Error escritura"); }
}
}
porque no me imprime directamente????
import java.io.*;
import java.util.*;
import javax.comm.*;
public class Escritormeq
{
static CommPortIdentifier idPort;
static SerialPort sPort;
static ParallelPort pPort;
static OutputStream os;
static OutputStream salida;
static String mensaje = "!0 110 40 1nTEXT 8*8 42 0 FERCHITO TE AMOnBARCODE CODE39 110 30 29 12345nINDEXnSTOP";
public static void main(String[] args)
{
// Lo primero que hacemos es abrir el puerto
try{
idPort = CommPortIdentifier.getPortIdentifier("LPT1");
}
catch (NoSuchPortException e)
{System.err.println("ERROR al identificar puerto");}
try{
pPort = (ParallelPort) idPort.open("Escritor", 300);
try{
os=pPort.getOutputStream();
}
catch (IOException e) { }
}
catch (PortInUseException e)
{ System.err.println("ERROR al abrir puerto");}
try{
byte[] b=mensaje.getBytes("US-ASCII");
os.write(b);
}
catch (IOException e) { System.err.println("Error escritura"); }
}
}
porque no me imprime directamente????
no lo he probado. pero en ocasiones resulta conveniente limpiar el buffer después de una escritura. para ello utiliza la función flush()
os.write(mensaje);
os.flush();
Espero que te sirva saludos
os.write(mensaje);
os.flush();
Espero que te sirva saludos