Bem Vindo Visitante Lista de Usuários

 Todos os Fórums
  ADVPL

Enviar para a impressoraImprimir   

Subject IMPRESSAO PDF EM SERVIDOR LINUX
Mensagem do Enviar e-mail Abrir o Perfil do usuário CDL CDL em 12/27/2018 as 11:21 hs
Local: SP   Registrada: 2/19/2008  Postagem: 1120
Bom dia, Galera, se que alguém que usa o Protheus em Linux pode me dar uma forca?

Estou com um problema para gerar um relatório em PDF direto no Servidor Linux usando a função FwMSPrinter

Tem uma situação que hora eu posso mostrar a tela inicial aonde o usuário escolhe o local de salvamento do PDF e hora preciso deixar fixo para gerar vários pdf no servidor. (Geração de Boleto bancário)

Quando uso o padrão, onde o usuário escolhe a pasta local, o sistema copia o PDF e abre sem problemas, quando não mostro o SETUP o programa só grava o arquivo .REL e não gera o PDF.

Já recebi um exemplo via WS (Web Service) mas não é o meu caso, pois o usuário escolhe a opção pelo menu do financeiro.

Meu sistema está no Cloud da TOTVS em servidor LINUX, segundo o pessoal do Cloud o PDFPRINTER.EXE já está no BIN.

Existe alguma forma de eu chamar a função FwMSPrinter via menu, sem a exibição do SETUP e gerar o PDF em algum diretório linux da mesma forma que acontece no servidor WINDOWS? pois já tenho essa mesma situação em Windows e não tenho problemas com isso.

Segue Trecho do código aonde eu crio o objeto e passo os parâmetros para geração em Server sem apresentação do SETUP ao Usuário.

cFileName   := AllTrim(aDadosTit[7])+AllTrim(aDadosTit[1]) // no do arquivo
cPath         := "/boletos/" // pasta dentro protheus_data
lLegacy      := .F.
lDisabeSetup := .T. // Não mostra a tela de Setup
lServer      := .T. // impressão no servidor
lViewPDF      := .F. // não mostra o PDF

oPrinter           := NIL
oPrint := FwMSPrinter():New(cFileName, 6, lLegacy, cPath, lDisabeSetup,;
               NIL, NIL, "PDF", lServer, NIL, NIL, lViewPDF)

oPrint:SetPortrait()
oPrint:SetResolution(72)
oPrint:SetPaperSize(DMPAPER_A4)
oPrint:SetMargin(10, 10, 10, 10)

oPrint:nHorzSize := 210
oPrint:nVertSize := 297
oPrint:cPathPDF := cPath

Abraços,

Raphael - D.E.M.A.

Mensagem do Enviar e-mail Abrir o Perfil do usuário JOORLANDO3 JOORLANDO3 em 12/27/2018 as 15:14 hs
Local: SP   Registrada: 11/2/2008  Postagem: 155
Bom dia!

Eu usei a seguinte, mas é ambiente Windows:

//Criando diretório local caso não exista
If _lJob
     //Quando é schedule funciona no diretório remoto
     cDirLocalPDF := "\diretorio\automacao_boleto\"

Else
     cDirLocalPDF := GetTempPath(.T.)
     
Endif

lPreview := .F.
oBoleto   := FWMSPrinter():New('BOLETO_'+ Alltrim(T_SE1BOL->E1_NUM) + cExtraNome + "_BOL",6,.F., cDirLocalPDF,.T.)
oBoleto:SetPortrait()
oBoleto:SetPaperSize(9)
oBoleto:SetMargin(10,10,10,10)
oBoleto:cPathPDF := cDirLocalPDF
oBoleto:SetViewPDF(.F.)
oBoleto:StartPage()


//Para finalizar e salvar
oBoleto:EndPage()
oBoleto:Print()

Jorge Orlando

Para participar do Fórum você precisa efetuar login primeiro
Caso você não esteja registrado registre-se para participar do fórum

 Mudar para Fórum