Impressao local via server

Oi pessoal,
Eu tenho essa applet que faz interação direta com minha porta paralela, mas quando inicio sua página, a applet nem é iniciada. o erro é: “applet notinitied”
Mas quando coloco esse mesmo código em um programa normal (sem ser uma applet) ele acessa a porta sem problemas e imprime normalmente como deveria. O que pode ser?

Código:

package applets;

import gnu.io.CommPortIdentifier;
import gnu.io.NoSuchPortException;
import gnu.io.ParallelPort;
import gnu.io.PortInUseException;

import java.io.IOException;
import java.io.OutputStream;

import sun.io.CharToByteUnicode;

import java.applet.Applet;

@SuppressWarnings("serial")
public class PrintApplet extends Applet {

	private static OutputStream outputStream;;
    private static ParallelPort portaParalela;
    private static CommPortIdentifier port;

    private String msg;
	private String printerCodes;

    // CONSTANTS
    public static final String PORTA_PARALELA = "LPT1";
    
    public void init(){
    	msg = "";
    	printerCodes = null;
    }
	
    public void addPrinterCodes(String printerCodes){
    	this.printerCodes += printerCodes+"\n";
    }
    
    @SuppressWarnings("deprecation")
	public void sendPrinterCodes(){
        try {
            // get the parallel port connected to the printer
            port = CommPortIdentifier.getPortIdentifier(PORTA_PARALELA);

            System.out.println("port.name = " + port.getName());

            // open the parallel port -- open(App name, timeout)
            portaParalela = (ParallelPort) port.open("CommTest", 50);
            outputStream = portaParalela.getOutputStream();

            char[] charArray = printerCodes.toCharArray();
            byte[] byteArray = CharToByteUnicode.getConverter("UTF8").convertAll(charArray);
            
            System.out.println("Impressão: "+printerCodes);

            System.out.println("Escreve...");
            outputStream.write(byteArray);
            System.out.println(outputStream.toString());
            System.out.println("Limpa...");
            outputStream.flush();
            System.out.println("Fecha...");
            outputStream.close();

        } catch (NoSuchPortException e) {
        	msg += "\nPorta de impressão LPT1 não encontrada : "
                    + "NoSuchPortException.\nException:\n" + e;
        } catch (PortInUseException e) {
        	msg += "\nPorta de impressão LPT1 em uso : "
                    + "PortInUseException.\nException:\n" + e;
        } catch (IOException e) {
        	msg += "\nPorta de impressão LPT1 falhou na impressão : "
                    + "IOException.\nException:\n" + e;
        } catch (Exception e) {
        	msg += "\nFalha ao abrir Porta de impressão LPT1. Erro : "+ e;
        } finally {
            if (port != null && port.isCurrentlyOwned()) {
                portaParalela.close();
            }
            msg += "\n\nAcesso ao hardware terminado.\n";
        }
    }
    
    public String getPrinterCodes(){
    	return printerCodes;
    }
    
    public String getMsgs(){
    	return msg;
    }
}

a) Você precisa assinar digitalmente a applet
b) Você precisa copiar a DLL , o arquivo java*.properties (não lembro o nome de cor) outras coisas para certos lugares
c) Você não pode fazer certas coisas no método “init” da applet, que ele não tem as permissões adequadas, mesmo assinando digitalmente a applet
d) Você quer mesmo usar isso em uma applet? Você vai ter de criar uma espécie de “instalador” só para copiar a DLL, o arquivo java*.properties nos diretórios corretos. Não dá para fazer isso funcionar só de pôr a applet no seu site Intranet.

Eu acho q naum tenho escolha…
Eh o seguinte, eu tenho esse sistema intranet e preciso que os terminais tenham acesso à impressora nativamente para fazer acesso direto à lpt1 (busca por desempenho) e soh pensei em uma applet para fazer isso, pois ela roda localmente sendo q o resto do meu sistema naum.
Você tem alguma outra idéia? Eu jah tentei pensar em outras soluções, mas num sai nada…

Quanto à java*.properties você estava se referindo à javax.comm.properties? Se for isso, relaxa q essa API q eu to usando é a RXTXcomm ela usa a CommAPI mas naum precisa desse arquivo…

Quando eu importo o certificado com o keytool ele me retorna esse erro?

O que será isso? E detalhe eu criei o keycert.x509 e depois o usei no import.

Meu código java é esse e eu continuo sem conseguir fazer funcionar…

<body>

<applet code="applets/PrintApplet.class"
		archive="applets/PrintApplet.jar"
		width=0 height=0>
</applet>

<script language="javascript" type="text/JavaScript">
	
	function imprime(){

		printer = document.applets[0];
	
		printer.addPrinterCodes(document.getElementById("texto").value);
		alert(printer.getPrinterCodes());
	
		printer.sendPrinterCodes();
		alert(printer.getMsgs());

	}

</script>

<form name="formImpressao" method="post">
	<input type="text" id="texto" name="texto"/><br>
	<input type="button" name="imprim" onClick="imprime();"/>
</form>

</body>

código java naum html, malz