× Linguagem de Programação ADVPL

Perguntas Enviar impressão à impressora

Mais
10 anos 8 meses atrás #21233 por gustavo13
Olá!

Estou tentando imprimir um arquivo salvo diretamente na impressora, sem que seja demonstrado as telas de configuração da impressora.

Estou usando o código abaixo, mas ele não está enviando o arquivo e sim o nome do arquivo para a impressora.
lWindows := .T. // .T. indica impressão via Windows
cNameImp := "PDFCreator" // Nome da Impressora
lDisco := .F. // .T.=Disco ou .F.=Spool
cNameFile := "" //"pre_nota"+__CUSERID+".##r" // Se lDisco=.T. este parâmetro indica o nome do relatório em disco \SPOOL\
lUnix := .F. // .T. indica impressão em Unix
nMargem := 1 // Margem esquerda para encadernação

cTipo := "220"

//PrinterDisk(.F.)
//PrinterWin(.T.)

PreparePrint(lWindows,cNameImp,lDisco,"",lUnix,nMargem )

nPrtIn := 1 //1 = server - 2 = cliente
InitPrint(1,,cTipo,,"Relatório Pre-nota") //@nPrtIn

// Envia para Impressora
lPagAtu := .T.
lPagInt := .F.
nRgStart := 1
nRgEnd := 1

//SndToPrnWin("\SPOOL\matr940.##r", lPagAtu, lPagInt, nRgStart, nRgEnd)
SetPrc (1,1)
//aImpInf := GetImpInf("PDFCREATOR")
//DevOut("Texto para impressão"+chr(13)+chr(10)+"TESTE")
//SetPrc (3,3)
//DevOut("Teste")

// a := GetImpInf("PDFCREATOR")

if !SndToPrnWin("\SPOOL\matr940.##r"+chr(13)+chr(10)+"TESTE", lPagAtu, lPagInt, nRgStart, nRgEnd )
Alert('Relatório não pode ser impresso')
else
Alert('Relatório impresso com sucesso')
endif

FechaRel()

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21234 por lalberto
Respondido por lalberto no tópico Enviar impressão à impressora
m_pag := 1
cTamanho := "P" // P/M/G
nCaracter:= 18
Limite := 80 // 80/132/220
aOrdem := {} // Ordem do Relatorio
cTitulo := 'Guia Pagamento Orçamento' //"Prescricao Eletronica"
nLastKey := 0
aReturn := {'Zebrado', 2, 'Administracao', 1, 4, "LPT1", "", 1} //"Zebrado"###"Administracao"
cNomProg := "IMPGUIA"
cNomeRel := "IMPGUIA"
cDrive := "Epson.drv"
cNomeImp := "LPT1"
cAlias := "SL1"
nlin := 0



cCabec1 := ''
cCabec2 := ''


LServer := Nil
cNaoMostra := .T.
// Parametros da SetPrint
// 15 cDrive
// 16 passa .t. p/ nao chamar tela
// 17 lserver = .t., imprime no servidor
// 18 LPT1

cNomeRel := SetPrint(cAlias,cNomeRel,nil ,@cTitulo,"","","",.F.,"",.F.,cTamanho,nil ,nil ,nil ,cDRive,cNaoMostra, LServer,cNomeImp)

// cNomeRel := SetPrint(cAlias,cNomeRel,nil ,@cTitulo,"","","",.F.,,,cTamanho,,)

If nLastKey == 27
DbClearFilter()
Return
Endif

SetDefault(aReturn, cAlias)

Set Printer to &cNomeRel
Set Printer On
Set Device to Printer

_Passou := .F.

SETPRC(0, 0)


//Cabec. do Recebimento

@ Prow(),1 PSAY Chr(27)+'C'+Chr(22) // Comando que Determina o tamanho da Pagina 22 LINHAS
@ Prow()+1,1 PSAY '+'+Replicate("=",38)+'+' //replicate
@ Prow()+1,1 PSAY "|"+Padc('Emitido em ' + DtoC(Date()) + " as " + Time(),38)+'|'
@ Prow()+1,1 PSAY '+'+Replicate("=",38)+'+' //replicate
@ Prow()+1,1 PSAY '|'+Chr(14)+PadC(AllTrim(SM0->M0_NOME),19)+Chr(20)+'|'
@ Prow()+1,1 PSAY '+'+Replicate("-",38)+'+' //replicate
@ Prow()+1,1 PSAY '|'+PadC('ORCTO.No.: ' + cOrc + ' - DATA: ' + Dtoc( Date() ),38)+'|'
@ Prow()+1,1 PSAY '+'+Replicate("-",38)+'+' //replicate
@ Prow()+1,1 PSAY '|'+PadC('Vendedor: ' + SA3->A3_COD + " - " + SA3->A3_NREDUZ,38)+'|'
@ Prow()+1,1 PSAY '+'+Replicate("=",38)+'+' //replicate
@ Prow()+1,1 PSAY '|'+Chr(27)+'E'+PadC('Valor Total:',38)+Chr(27)+'F'+'|'
@ Prow()+1,1 PSAY '|'+PadC('',38)+'|'
@ Prow()+1,1 PSAY '|'+Chr(14)+PadC('R$ '+TransForm(SL1->L1_VLRLIQ,"@E 9,999.99"),19)+Chr(20)+"|"
@ Prow()+1,1 PSAY '|'+PadC('',38)+'|'
@ Prow()+1,1 PSAY '+'+Replicate("=",38)+'+' //replicate
//@ Prow()+1,1 PSAY CHr(27)+"3"+"26"


Ms_Flush()

Set Printer to
Set Device to Screen

If aReturn[5] == 1
OurSpool(cNomeRel)
EndIf

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.085 segundos
Joomla templates by a4joomla