Pessoal estou usando o RXTX para comunicar na porta LPT1 e não dá nenhum retorno na minha impressora. Será que está faltando alguma coisa?
Olha o código:
import gnu.io.CommPortIdentifier;
import gnu.io.ParallelPort;
import gnu.io.PortInUseException;
import gnu.io.SerialPort;
import gnu.io.UnsupportedCommOperationException;
import java.io.*;
import java.util.*;
public class SimpleWrite {
static Enumeration portList;
static CommPortIdentifier portId;
static String messageString = "<STX>L<CR> "+
"D23<CR> "+
"120000002000050PIXEL SIZE FOR D23<CR> "+
"E<CR>";
static String ConfiguraPorta = "1";
static String ConfiguraImpressor = "0";
static String QuantidadeCopias = "1";
static SerialPort portaSerial;
static ParallelPort portaParalela;
static OutputStream outputStream;
public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
System.out.println("Port Identifier OK");
if (portId.getPortType() == CommPortIdentifier.PORT_PARALLEL) {
if (portId.getName().equals("LPT1")) {
try {
portaParalela = (ParallelPort)
portId.open("SimpleWriteApp", 2000);
System.out.println("Porta LPT1 selecionada");
} catch (PortInUseException PIUE) {
PIUE.getCause();
PIUE.printStackTrace();
}
try {
outputStream = portaParalela.getOutputStream();
System.out.println("Comunicação estabelecida com sucesso!");
} catch (IOException IOE) {
IOE.getCause();
IOE.printStackTrace();
}
//try {
/* portaSerial.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_EVEN);*/
/*} catch (IOException IOE) {
IOE.getCause();
IOE.printStackTrace();
}*/
try {
System.out.println("");
System.out.println("Enviando dados...");
System.out.println(messageString);
portaParalela.getOutputStream();
System.out.println("");
} catch (IOException IOE) {
IOE.getCause();
IOE.printStackTrace();
}
try{
outputStream.close();
portaParalela.close();
System.out.println("Comunicação finalizada com sucesso!");
}catch (IOException IOE){
IOE.getCause();
IOE.printStackTrace();
}
}
}
}
}
}