Página 1 de 1
SEFAZCLASS - Logo na DANFE
Enviado: 17 Nov 2017 19:21
por mga
Usando a classe do mestre Jose Quintas, não estou conseguindo fazer a LOGO sair na DANFE, alguem pode me ajudar
cConteudoXML := RetornaConteudoDoXMLArquivoTabelaNFE( cChaveNFE )
cArquivoPDF := PastaPDF()+"\"+Alltrim(cChaveNFE)+".pdf"
oDanfe := hbNFeDaNFe():New()
oDanfe:cDesenvolvedor := InformacaoDoDesenvolvedor()
oDanfe:cLogoFile := "c:\danfe\imagem.jpg"
cRetorno := oDanfe:ToPDF( cConteudoXML, cArquivoPDF, "" )
SEFAZCLASS - Logo na DANFE
Enviado: 17 Nov 2017 19:50
por mga
Resolvido assim:
METHOD DrawJPEGImage( cJPEGImage, x1, y1, x2, y2 ) CLASS hbNFeDaNFe
IF cJPEGImage == NIL .OR. Empty( cJPEGImage )
RETURN NIL
ENDIF
// IF Len( cJPEGImage ) < 100
// IF File( cJPEGImage )
// cJPEGImage := HPDF_LoadJpegImageFromFile( ::oPDF, cJPEGImage )
// ENDIF
// ELSE
// cJPEGImage := HPDF_LoadJpegImageFromMem( ::oPDF, cJPEGImage, Len( cJPEGImage ) )
// ENDIF
cJPEGImage := HPDF_LoadJpegImageFromFile( ::oPDF, cJPEGImage )
HPDF_Page_DrawImage( ::oPDFPage, cJPEGImage, x1, y1, x2, y2 )
RETURN NIL
SEFAZCLASS - Logo na DANFE
Enviado: 18 Nov 2017 02:40
por JoséQuintas
Se reparar direito, fez o que estava no fonte, exceto testar se o arquivo existe.
Código: Selecionar todos
/ IF Len( cJPEGImage ) < 100
// IF File( cJPEGImage )
// cJPEGImage := HPDF_LoadJpegImageFromFile( ::oPDF, cJPEGImage )
// ENDIF
// ELSE
Código: Selecionar todos
cJPEGImage := HPDF_LoadJpegImageFromFile( ::oPDF, cJPEGImage )
Se Len() do parâmetro < 100.... seu parâmetro é menor que 100.
IF File( cJPEGImage ) .... só se falhou aqui.
SEFAZCLASS - Logo na DANFE
Enviado: 18 Nov 2017 02:45
por JoséQuintas
Ah, não... já sei o que foi....
A melhoria está no uso "não direto".
oDanfe := hbnfeDaGeral():New()
SEFAZCLASS - Logo na DANFE
Enviado: 18 Nov 2017 09:32
por rubens
Bom dia
José Quintas...
Como enviar o texto nas observações para quebrar a linha?
Por exemplo:
cObs1+'|'+cObs2?
cObs1+';'+cObs2?
cObs1+HB_Eol()+cObs2?
Obrigado
Rubens
SEFAZCLASS - Logo na DANFE
Enviado: 18 Nov 2017 10:47
por JoséQuintas
Os dois são válidos, mas use preferencialmente o ponto e vírgula, pra não complicar com UTF8.
Código: Selecionar todos
FOR EACH cText IN { ";;", ";", "|" }
::aInfAdic[ "infCpl" ] := StrTran( ::aInfAdic[ "infCpl" ], cText, hb_Eol() )
::aInfAdic[ "infAdFisco" ] := StrTran( ::aInfAdic[ "infAdFisco" ], cText, hb_Eol() )
NEXT
SEFAZCLASS - Logo na DANFE
Enviado: 18 Nov 2017 11:27
por mga
Muito obrigado Sr José Quintas, e parabéns pelo trabalho com HBNFE é fantástico. :{ :{