Comunicar com porta Paralela (LPT1)

Pessoal estou usando as API´s JavaComm e RXTX para comunicação com a porta serial, agora preciso comunicar com a porta paralela (LPT1) mais precisamente com uma impressora de Ribbon. E o negócio não está funcionando, alguém pode dar uma luz?
Olha o meu 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>T";
    static String messageString2 = "121100001000050THIS LABEL IS MADE BY JIMMY<CR>";
    static String messageString3 = "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);
                         outputStream.write(messageString.getBytes());
                       //  System.out.println(messageString2);
                       //  outputStream.write(messageString2.getBytes());
                       //  System.out.println(messageString3);
                       //  outputStream.write(messageString3.getBytes());
                         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();
                    }
                }
            }
        }
    }
}