- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Enviar impressão à impressora
×
Linguagem de Programação ADVPL
Perguntas Enviar impressão à impressora
- gustavo13
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 119
- Obrigados Recebidos: 0
10 anos 8 meses atrás #21233
por gustavo13
Enviar impressão à impressora foi criado 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()
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 8 meses atrás #21234
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Enviar impressão à impressora
Tempo para a criação da página:0.085 segundos