Obrigado Kapi por responde
Eu já tinha visto esse material
Estou pensando em fazer no braço essa rotina. Mas estou enviando o meu código.
FUNCTION IMPDANFEPDF()
carq=Alltrim(NFECAB->Chvnfe)+".PDF"
cDestino=CurDrive()+":\"+CurDir()+"\"+cDirPDFNFe
If !File(cDestino + carq)
cFileXmlProtocolo := CurDrive()+":\"+CurDir()+"\"+cDirXMLProtocolado+NFECAB->Chvnfe+".xml"
If File(cFileXmlProtocolo)
CriaPdfDanfeAutorizado( cFileXmlProtocolo, NFECAB->Chvnfe )
cFilePdf:=CurDrive()+":\"+CurDir()+"\"+cDirPDFNFe+NFECAB->Chvnfe+".pdf"
Run( "Start " + cDestino + carq )
Else
If MsgNoYes( " Nota não enviada para a SEFA. Você deseja fazer uma Pré-Visualização ?","Atenção")
cFileAssinado:=CurDrive()+":\"+CurDir()+"\"+cDirXMLAssinado+NFECAB->Chvnfe+".xml"
CriaPdfAssinado( cFileAssinado, NFECAB->Chvnfe )
cFilePdf:=cDirPDFTrb+NFECAB->Chvnfe+".pdf"
Run( "Start " + cFilePdf )
// impdanfe()
Endif
Endif
Else
cDestino := CurDrive()+":\"+CurDir()+cDirPDFNFe
Run( "Start " + cDestino + carq )
Endif
RETURN .T.
**
Function CriaPdfDanfeAutorizado( cFileXmlProtocolo, cChaveNFe )
LOCAL OrigDadosEmissor := "", quadroRecibo := "I", quadroFatura := "S", quadroISSQN := "S", DPEC := "", separadorItem := "T"
LOCAL gravaPDF := "[ARQUIVO="+Alltrim(cChaveNFe)+".PDF"+"][PASTA="+CurDrive()+":\"+CurDir()+"\"+cDirPDFNFeFlex+"]", nResultado:=0, msgResultado := ""
local cFileXmlProtocolo2
local objNFeUtilPDF
objNFeUtilPDF := CreateObject("NFe_Util_2G.util")
If File( CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg" )
OrigDadosEmissor := CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg"
Endif
cFileXmlProtocolo2:=MemoRead(cFileXmlProtocolo)
nResultado := objNFeUtilPDF:geraPdfDANFE(cFileXmlProtocolo2, OrigDadosEmissor, quadroRecibo, quadroFatura, quadroISSQN, DPEC, separadorItem, gravaPDF, msgResultado)
If nresultado < 7902
MsgAlert(msgResultado,"Informação")
Else
MsgAlert("Processo de geração do PDF falhou..."+CRLF+msgResultado,"Atenção")
End If
Return(Nil)
**
Function CriaPdfAssinado( cFileXmlProtocolo, cChaveNFe )
LOCAL OrigDadosEmissor := "", quadroRecibo := "I", quadroFatura := "S", quadroISSQN := "S", DPEC := "", separadorItem := "T"
LOCAL gravaPDF := "[ARQUIVO="+Alltrim(cChaveNFe)+".PDF"+"][PASTA="+cDirPDFTrbFlex+"]", cResultado:=0, msgResultado := ""
local cFileXmlProtocolo2
objNFeUtil := CreateObject("NFe_Util_2G.util")
If File( CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg" )
OrigDadosEmissor := CurDrive()+":\"+CurDir()+"\BMP\LogoNFE.jpg"
Endif
cFileXmlProtocolo2:=MemoRead(cFileXmlProtocolo)
cResultado := objNFeUtil:geraPdfDANFE(cFileXmlProtocolo2, OrigDadosEmissor, quadroRecibo, quadroFatura, quadroISSQN, DPEC, separadorItem, gravaPDF, msgResultado)
Return(Nil)