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