Olá Eduardo, adicionei alguns trecho em que faço esse processo em um job, espero que ajude.
Local cFile := ""
Local cFilePath := '\Temp\'
Local cPathLocal := GetTempPath()
Local cRelNome := "Impressao Job "+strtran(dtoc(Date()),"/","-")+"_"+strtran(substr(Time(),1,5),':','-')+".pdf"
Local lAdjustToLegacy := .T. //Ultiliza tamanho no formato legado TMSPrinter
Local lDisableSetup := .T. //Desabilita setup
Local lViewPDF := .T.
oPrint := FWMSPrinter():New(cRelNome,IMP_PDF,lAdjustToLegacy,cPathLocal,lDisableSetup,,,,,,,lViewPDF)
cFile := cPathLocal+cRelNome
File2Printer( cFile, "PDF" )
oPrint:cPathPDF:= cPathLocal
oPrint:Preview()
//Copia da máquina local para o SPOOL
CpyT2S( cFile, cFilePath, .F. )
//cFile, atualiza para path no servidor + nome do arquivo
cFile := cFilePath+cRelNome
//Verifica se o arquivo foi criado
IF !(File(cFile))
Conoout("Houve erro ao gerar o arquivo no servidor")
Else
EnviaRel(cEmail,cFile)
//Apaga arquivo do servidor
FERASE(cFile)
EndIF