Página 1 de 1
Impressoras que não imprimem em Raw mode
Enviado: 21 Mai 2009 18:07
por DLZ
Ola galera..
Utilizo o a função PrintFileRaw() para imprimir alguns relatórios. Utilizo essa função para tornar mais rápida a impressão, principalmente em impressoras matriciais. Me deparei com algumas impressoras que não imprimem quando executada essa função. Segundo informações que obtive, isso ocorre pelo fato da impressora ser "windows only", ou seja, só imprime textos gráficos.
A minha dúvida é a seguinte:
Existe alguma função ou comando que retorne se a impressora é "windows only" ou não ?
Um abraço ..
Re: Impressoras que não imprimem em Raw mode
Enviado: 22 Mai 2009 13:04
por sygecom
Buenas,
Eu tentei achar nesse sentido tambem mas o maximo que consegui foi o exemplo abaixo, e é como estou usando até hoje:
Código: Selecionar todos
*****************
Function CHAMAIMP
*****************
LOCAL cPrinterName, cPrinterPort, cCopias
LOCAL aPrn := GetPrinters(.t.,.f.)
LOCAL nResult := -1
LOCAL cMsg := ""
PARA TAM,cARQ // S=136 N=79
IF TAM=Nil
TAM="S"
ENDIF
If Empty(aPrn)
OBRIGA11() // mensagem na tela que tem que ter
Return
EndIf
IF !EMPTY(cARQ)
cFILE := cARQ
ELSE
MsgInfo("Não foi possivel Gerar arquivo de impressão, Tente Novamente.","Aviso do Sistema")
Return
ENDIF
nPrn:=New_PRINTSETUP( @cPrinterName, @cCopias )
Private oDlgHabla:=nil
MsgRun("Aguarde, Imprimindo...")
for i=1 to len(aPrn)
IF aPrn[i,1] = cPrinterName
cPrinterPort = aPrn[i,2]
exit
ENDIF
next
IF cPrinterPort#Nil
IF LEFT(UPPER(cPrinterPort),3)="LPT" // se estiver em uma LPT uso a PrintFileRaw()
FOR nI := 1 TO cCopias
nResult := PrintFileRaw( cPrinterName, cFile, "Impressao Pelo Sistema" )
IF nResult = -1
cMsg = "Parametros Invalido, Favor Tentar Novamente"
ELSEIF nResult = -2
cMsg = "Falha na chamada da Impressora, Favor Verificar a Impressora"
ELSEIF nResult = -3
cMsg = "Falha ao Iniciar Impressão, Favor Verificar a Impressora"
ELSEIF nResult = -4
cMsg = "Falha ao Iniciar a Primeira Pagina, Favor Verificar a Impressora"
ELSEIF nResult = -5
cMsg = "Falha de Memoria da Impressora, Favor Verificar a Impressora"
ELSEIF nResult = -6
cMsg = "Não foi Possivel localizar o arquivo de Impressão, Favor Tentar Novamente"
ENDIF
IF len(alltrim(cMsg)) > 1
Fim_Run()
MsgInfo(cMsg,"Aviso do Sistema")
Return
ENDIF
NEXT
ELSE
IF TAM="S"
IF !EMPTY(cPrinterName)
Imprime(cFILE,136,cPrinterName,cCopias) // imprime usando a WIN32PRN
ENDIF
ELSE
IF !EMPTY(cPrinterName)
Imprime(cFILE,80,cPrinterName,cCopias) // imprime usando a WIN32PRN
ENDIF
ENDIF
ENDIF
ENDIF
Fim_Run()
RETURN NIL
*****************
Function OBRIGA11
*****************
IF MsgYesNo("ATENÇÃO !!! Não foi possivel localizar Nenhuma impressora Instalada no Windows, Deseja Instalar uma Agora ?","Aviso do Sistema")
RunApplet_imp( "AddPrinter" )
Endif
Return(Nil)
FUNCTION RunApplet_imp( cApplet ) //CONFIGURA IMPRESSORA NO WINDOWS
ShellExecute("rundll32.exe","open","shell32.dll, SHHelpShortcuts_RunDLL "+cApplet,"2")
RETURN Nil
Re: Impressoras que não imprimem em Raw mode
Enviado: 22 Mai 2009 19:51
por Hasse
Boa noite colegas.
Pode ser uma pergunta de bobo: Já fabricam impressoras matriciais "only for Windows" ?
Nunca tive um caso destes... e nem qualquer informação neste sentido.
Re: Impressoras que não imprimem em Raw mode
Enviado: 23 Mai 2009 15:08
por lucimauro
Ja sim colega hasse,, eu ja tinve clientes que tinha umas lx-300 que nao funcionavao em DOS, mas isso faz muito tempo!
Re: Impressoras que não imprimem em Raw mode
Enviado: 23 Mai 2009 16:58
por Hasse
Boa tarde.
Será que não era alguma configuração ?
Acabei de baixar o Guia de Referência Técnica dela, e continua com emulação ESC/P, com 13 tabelas de caracteres internacionais, ou seja, ela é "for DOS".
Veja no link abaixo:
http://www.lprinters.com.br/2008/02/man ... x-300.html
Re: Impressoras que não imprimem em Raw mode
Enviado: 24 Mai 2009 21:56
por lucimauro
é caro colega isso faz muito tempo,,talvez hoje eu fosse atras de descobrir porque nao imprimia sabe,,mais no tempo acho que alguem me falou que foi uma serie que saiu.
Re: Impressoras que não imprimem em Raw mode
Enviado: 25 Mai 2009 11:43
por sygecom
Até hoje todas as LX-300 que peguei pela frente está imprimindo com PrintFileRaw() , tanto LPT, SERIAL e USB.