Substituto FWMSPRINTER

Bom dia pessoal, tudo bem?

Sabem informar uma classe que substitua a FWMSPRINTER e que me permita gerar relatorios em PDF sem interface grafica? A classe fwmsprinter gera os pdf's mas requer interface grafica e como vou criar um get via Rest para extrair esse relatorio eu não terei acesso a interface grafica. Caso tenham essa informação ficarei muito agradecido.

Abraços.

Bom Dia, conseguiu resolver está situação?

Bom dia!

A FWMsprinter pode ser utilizada para Rest sim, basta não acionar o parâmetro que exibe o relatório após o preview, e não utilizar aquela tela de Setup, com isso ela funciona normalmente.

Bom Dia Bruno. Que funcao, no caso de acionado via job, vc usa para gerar o pdf? Com o preview, gera somente o .rel

Eu tenho um REST que faz exatamente isso.

Gere o PDF pelo FWMSPrinter:


local cFile := 'arquivo.pdf'

oPrint      := FWMSPrinter():New(cFile,IMP_PDF,.T.,__reldir,.T.,,,,,.F.)
oPrint:lViewPDF := .F.
oPrint:cPathPDF    :=   __reldir

oPrint:StartPage()

oPrint:EndPage()

oPrint:Print()

Depois Utilize a função FwFileReader para enviar o PDF pelo REST.


Local cFile := ""// VALORES RETORNADOS NA LEITURA
        Local oFile := FwFileReader():New("/spool/arquivo.pdf") // CAMINHO ABAIXO DO ROOTPATH

        // SE FOR POSSÍVEL ABRIR O ARQUIVO, LEIA-O
        // SE NÃO, EXIBA O ERRO DE ABERTURA
        If (oFile:Open())
            cFile := oFile:FullRead() // EFETUA A LEITURA DO ARQUIVO

            // RETORNA O ARQUIVO PARA DOWNLOAD
            Self:SetHeader("Content-Disposition", "attachment; filename=arquivo.pdf")
            Self:SetResponse(cFile)

            lSuccess := .T. // CONTROLE DE SUCESSO DA REQUISIÇÃO
        Else
            SetRestFault(002, "can't load file") // GERA MENSAGEM DE ERRO CUSTOMIZADA

            lSuccess := .F. // CONTROLE DE SUCESSO DA REQUISIÇÃO
        EndIf