Moderador: Moderadores
SET DEVICE TO PRINTER
IF TestesMario
SET PRINTER TO RECIBO.TXT
ELSE
IF ! EMPT(SETFIRM->PATH_REC)
IF Frm_Firmas.Rdg_ImpRec.Value == 1
xImp := ALLTRIM(SETFIRM->PATH_ETQ)
ELSE
xImp := ALLTRIM(SETFIRM->PATH_REC)
ENDIF
SET PRINTER ON
SET PRINTER TO &(xImp)
ELSE
RETURN .F.
ENDIF
ENDIF
SETPRC(0,0)
@ 00,0 SAY PADC("ESTADO DO RIO DE JANEIRO",47)
@ 01,0 SAY PADC(ALLTRIM(SETFIRM->CLIENTE), 47)
@ 02,0 SAY PADC(ALLTRIM(SETFIRM->ENDCLI), 47)
@ 03,0 SAY PADC(ALLTRIM(SETFIRM->COMPLM), 47)
@ 04,0 SAY PADC(ALLTRIM(SETFIRM->CIDADE)+"/"+SETFIRM->ESTADO,47)
@ 05,0 SAY PADC("CNPJ:"+TRANSFORM(SETFIRM->CNPJ,"@R 99.999.999/9999-99"),47)
kakamachado escreveu: uso a Minigui e preciso imprimir numa impressora Bematech não fiscal
IMPRESSORA="Nome exato da sua impressora aqui como esta no Windows"
TEMPORARIO="C:\CLIENTE_TAL"
NET7="Arq_10"
BB = "START &TEMPORARIO"+"sumatrapdf.exe -print-to "+CHR(34)+IMPRESSORA+CHR(34)+" &NET7"+".PDF"
HB_RUN( BB )
ALERT("Documento enviado para a impressora;"+ IMPRESSORA)
// Na janela do CMD, você pode fazer o teste direto, apenas coloque o nome da sua impressora entra as aspas.
// sumatrapdf.exe -print-to "Brother DCP-B753DW series Printer" Recibo.pdf
// ATENCAO:
// HB_Run com o START, executa o programa em segundo plano, a parte, e não pausa a execução do app principal que fez a chamda.
// HB_Run sem o START, aguarda o término da execução para voltar ao app principal que fez a chamada.
// IMPRIME UM ARQUIVO TEXTO EM QUALQUER IMPRESSORA NO MODO TEXTO NORMAL
// Chamar assim:
// PrintWinPrn("Recibo.txt", IMPRESSORA)
// ou
// PrintWinPrn( cArq , IMPRESSORA)
Function PrintWinPrn( cArq, cPrint )
Local oPrn, aPrn := GetPrinters(), n := 0
oPrn := Win_Prn():New(cPrint)
oPrn :Copies := 1
oPrn :CharSet(155)
oPrn :SetFont( "Lucida Console", 8, { 3, -50 } )
*oPrn:SetFont('courier new',17,{1,17}, 0,.F.,.F.)
If !oPrn:Create()
Alert("Nao foi criado o documento de Impressao")
Return nil
EndIf
If !oPrn:StartDoc("Imprimindo Documento")
Alert("Erro na Impressora")
Return nil
EndIf
*HB_CDPSelect("PT850")
HB_SETCODEPAGE( "PT850" )
SetPrc(0,0)
cText := MemoRead( cArq )
nLinh := MlCount( cText )
For n := 1 to nLinh
*oPrn:TextOut(HB_AnsiToOem(CHR(27) + CHR(33) + CHR(1)+MemoLine(cText,,n)),.t.)
oPrn:TextOut(HB_AnsiToOem(MemoLine(cText,,n)),.t.)
Next
oPrn:EndDoc()
*HB_CDPSelect( "PTISO")
Return .t.
Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes