Imprimir via JS na LPT1 da máquina do cliente

Boa tarde;

Alguém sabe como posso fazer para imprimir dados direto na impressora da máquina do usuário?
O que eu preciso é descobrir qual é a porta que a impressora esta instalada e enviar os dados direto nesta porta (LPT1:, LPT2:, COM1:, \SERVER\IMP01, etc)…

Agradeço qualquer ajuda…

vc terá que usar um applet…

Via javascript ? document.print() nao da ?

Já tentei document.print(), mas o problema é que preciso enviar o caracter de controle 2 (ASCII) para a impressora(é de etiquetas da Datamax), e quando coloco esse carater no pagina, ele não funciona.

pra isso eu crei um objeto com no javascript :
function ImprImprimir(Linha,Coluna,Texto){
var DifeL = Linha - this.Linha ;
for (i=1;i0){
Texto = Replicate(? ?,DifeC)+Texto ;
}
this.Texto = this.Texto + Texto ;
this.Coluna = this.Texto.length ;
}
function ImprFechar(){
if (this.Texto!=?"){
this.objTextFile.WriteLine(this.Texto);
}
this.Linha = 0 ;
this.Coluna = 0 ;
this.Texto = ?? ;
this.objTextFile.Close();
}
function ImprAbrir(){
var ForReading = 1, ForWriting = 2, ForAppending = 8;
this.Arquivo = ?c:\?+this.Porta ;
this.objTextFile = this.objFSO.CreateTextFile(this.Arquivo, true);
}
function ImprAbrirLeitura(){
var ForReading = 1, ForWriting = 2, ForAppending = 8;
this.Arquivo = ?c:\?+this.Porta ;
this.objTextFile = this.objFSO.OpenTextFile(this.Arquivo, ForReading);
}
function ImprAjustarLC(Linha,Coluna){
this.Linha = Linha ;
this.Coluna = Coluna ;
}
function ImprEject(){
this.Linha = 0 ;
this.Coluna = 0 ;
this.Texto = this.Texto+String.fromCharCode(12) ;
}
function ImprNCOMP(){
this.Texto = this.Texto+String.fromCharCode(15) ;
}
function ImprCOMPN(){
this.Texto = this.Texto+String.fromCharCode(18) ;
}
function ImprLerTudo(){
return this.objTextFile.ReadAll() ;
}
function Impr(){
this.Linha = 0 ;
this.Coluna = 0 ;
this.Texto = ?? ;
this.Porta = ?LPT1″ ;
this.Arquivo = ?c:\?+this.Porta ;

this.Imprimir = ImprImprimir ;
this.Fechar = ImprFechar ;
this.Abrir = ImprAbrir ;
this.AjustarLC = ImprAjustarLC ;
this.Eject = ImprEject ;
this.LerTudo = ImprLerTudo ;
this.AbrirLeitura = ImprAbrirLeitura ;

this.NCOMP = ImprNCOMP ;
this.COMPN = ImprCOMPN ;

this.objFSO = new ActiveXObject(?Scripting.FileSystemObject?);

}

ai é so usar assim :

Imp = new Impr();
Imp.Porta = ?LPT1′ ;
Imp.Abrir();
Imp.Imprimir(1,10,?Isso aki vai imprimir na linha 1 coluna 10′) ;
Imp.Imprimir(1,50,?Isso aki vai imprimir na linha 1 coluna 50′) ;
Imp.Imprimir(10,1,?Isso aki vai imprimir na linha 10 coluna 1′) ;
Imp.Fechar();

Hum… páginas Web podem chamar este objeto via Javascript? No meu tempo acho que um erro feio era cuspido na nossa cara (erro de permissão; isso não tinha jeito nenhum de contornar), mas não sei como está isso hoje em dia.

Alguem conseguiu fazer isso funciona? preciso muito fazer um sistema em php que roda na web imprimir direto na maquina do usuario e procuro uma solução?