Página 1 de 1
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 09:45
por adilson
Bom dia Amigos do forum !!
Gostaria de saber ser existe algum comando ( Chr por exemplo ) Para migrar uma impressão tabulada para a lx300 em uma impressora térmica ? garimpei na net e não consegui encontrar nada . obrigado !
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 10:37
por asimoes
Olá,
Eu uso Win_Prn() para impressoras térmicas bematech
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 11:25
por adilson
Olá Asimoes , no meu caso já tenho o arquivo para impressão pronto ex: vendas.txt , esse arquivo esta tabulado
para a lx300 ,com o win_prn() , consigo reduzir as colunas para a impressão na térmica ?
obrigado !!
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 11:27
por Jairo Maia
Olá Pessoal,
Impressoras térmicas são compatíveis com o modo RAW (ESC/POS), assim, qualquer impressão que era feita na LX 300 pode ser migrada para impressora térmica usando Win_PrintFileRAW().
O que não entendi é o que seria "impressão tabulada".
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 11:27
por asimoes
adilson escreveu:consigo reduzir as colunas para a impressão na térmica ?
Consegue sim.
Migrar impressão lx300 80 colunas para impressora termica!
Enviado: 06 Abr 2018 11:31
por asimoes
Um exemplo:
Código: Selecionar todos
METHOD ClImpBema:PrintWin( cPrinter, cArq )
LOCAL oPrn:=Nil, aPrn:=Win_PrinterList( .T., .F. ), __nColFixed, cLinha, oElemento, lImp:=.F.
cPrinter := Hb_DefaultValue( cPrinter, Win_PrinterGetDefault() )
cArq := Hb_DefaultValue( cArq, "" )
IF Empty( cArq )
MsgStop( "Arquivo de impressão não informado", "Erro" )
RETURN .F.
ENDIF
IF Empty( aPrn )
MsgStop( "Não há impressoras instaladas", "Erro" )
RETURN .F.
ENDIF
FOR EACH oElemento IN aPrn
IF Upper( oElemento[1] ) = Upper( cPrinter )
//oElemento[1] //Nome da impressora
//oElemento[2] //Porta onde a impressora está ligada
lImp:=.T.
ENDIF
NEXT
IF ! lImp
MsgStop( "Impressora " + cPrinter + " não está instalada." + Hb_Eol() + "Entre em contato com o helpdesk", "Erro" )
RETURN Nil
ENDIF
oPrn := Win_Prn():New( cPrinter )
oPrn:FormType := WIN_DMPAPER_USER //WIN_DMPAPER_A4
oPrn:LandScape := .F.
nTL := MlCount( MemoRead( cArq ) ) / 5
oPrn:PaperLength := 11.0 * 25.4 * nTL
oPrn:PaperWidth := 3 * 26.4 * 10
oPrn:Copies := 1
IF ! oPrn:Create()
MsgStop( "Não foi criado documento.", "Erro de Impressão" )
oPrn:Destroy()
RETURN Nil
ENDIF
IF ! oPrn:StartDoc( "DocPrint" )
MsgStop( "Erro na Impressora.", "Erro de Impressão" )
oPrn:Destroy()
RETURN Nil
ENDIF
oPrn:SetColor( HB_WIN_RGB_BLACK )
oPrn:SetFont( "Lucida Console", 8, 0 )
//oPrn:SetFont("Lucida Console", 5, { 3, -90 }, 700 ) //90 CPP
__nColFixed := 0
FT_FUSE( cArq )
DO WHILE ! FT_FEOF()
cLinha := FT_FREADLN()
cLinha := IF( Empty( cLinha ), " ", cLinha )
oPrn:SetPos( __nColFixed )
oPrn:Textout( cLinha, .T. )
FT_FSKIP()
ENDDO
FT_FUSE()
oPrn:EndDoc()
oPrn:Destroy()
oPrn:=Nil
RETURN .T.