Página 1 de 1

baixar PDF

Enviado: 11 Out 2013 11:49
por JoséQuintas
Utilizo win_OleCreateObject( "MXSML2.ServerXMLHTTP" ).
Funciona pra muita coisa, mas não funciona pra baixar PDF do meu servidor.
Meu servidor é acessado por http://servidor:3380/endereco/arquivopdf

Já tentei com hbtip e nada.
Se digitar o endereço no explorer abre normalmente.

Lembro de duas outras opções, mas que não tenho mais os fontes:
- win_OleCreateObject( "InternetExplorer.Application" )
- API do windows de download

Alguém tem por aí?

baixar PDF

Enviado: 11 Out 2013 12:44
por JoséQuintas
Resolvido: achei meu erro e a api também.
Apesar de usar oSoap:Open(), não se deve usar oSoap:Close()

e pela API ficou assim:

Código: Selecionar todos

FUNCTION wapi_UrlDownloadToFile( cUrlFile, cLocalFile )
   LOCAL nErrorCode
   nErrorCode := CallDll32( "URLDownloadToFileA", "urlmon.dll", 0, cUrlFile, cLocalFile, 0, 0 )
   RETURN nErrorCode == 0

baixar PDF

Enviado: 31 Mar 2023 08:05
por malcarli
Bom dia Mestre, preciso baixar pdf de nfse. Como conseguiu fazer isso?


o endereço de onde estou tentando é esse:

https://marilia.sigiss.com.br/nfe_ver.p ... amp;nfe=14


Marcelo A. L. Carli
Marília/SP
Capital Nacional do Alimento ®
https://malc-informatica.ueniweb.com
Insta: @malcarli25
Email / Skype: malcarli@life.com.br

baixar PDF

Enviado: 31 Mar 2023 09:44
por JoséQuintas
Nem sei se isso é possível.
NFSE não é igual NFE, acho que é livre.

baixar PDF

Enviado: 31 Mar 2023 21:02
por sygecom
JoséQuintas escreveu:Resolvido: achei meu erro e a api também.
Apesar de usar oSoap:Open(), não se deve usar oSoap:Close()

e pela API ficou assim:

Código: Selecionar todos

FUNCTION wapi_UrlDownloadToFile( cUrlFile, cLocalFile )
   LOCAL nErrorCode
   nErrorCode := CallDll32( "URLDownloadToFileA", "urlmon.dll", 0, cUrlFile, cLocalFile, 0, 0 )
   RETURN nErrorCode == 0
Bom isso, será que tem como colocar uma barra de progresso usando essa DLL ?

baixar PDF

Enviado: 02 Abr 2023 11:30
por JoséQuintas
API windows pra baixar arquivo não é muito bom, pode gerar problemas quando o windows decide aproveitar cache.

Mas a resposta pra pergunta ficou aqui:

https://pctoledo.org/forum/viewto ... 43&t=26878

Nota: a pergunta do pdf foi colocada em dois posts, o outro já estava com resposta.

baixar PDF

Enviado: 03 Abr 2023 10:34
por malcarli
Bom dia mestre, não baixou o pdf, com esta rotina

O link do pdf:

Código: Selecionar todos

              DownloadTexto([https://marilia.sigiss.com.br/marilia/contribuinte/nfe/nfe_base.php?id=28227693&hash=VQ2DQQCN&nota=126&ccm=52267])
 

baixar PDF

Enviado: 03 Abr 2023 12:21
por JoséQuintas
Lógico, parece PDF mas não é PDF.

baixou isto:
pref.png
fiz um chute..... usando esse outro endereço.... deu certo....

Código: Selecionar todos


PROCEDURE Main

   LOCAL cValue

   SetMode(25,80)
   CLS
   cValue := DownloadTexto([https://marilia.sigiss.com.br/marilia/contribuinte/nfe/nfe_ver.php?id=28227693&hash=VQ2DQQCN¬a=126&ccm=52267])
   hb_MemoWrit( "arquivo.pdf", cValue )

   RETURN

FUNCTION DownloadTexto( cUrl )

   LOCAL oSoap, cRetorno

   cRetorno := ""
   BEGIN SEQUENCE WITH __BreakBlock()
      oSoap := Win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
      oSoap:Open( "GET", cUrl, .F.)
      oSoap:Send()
      cRetorno := oSoap:ResponseBody()
   END SEQUENCE

   RETURN cRetorno
nota.png
Coloquei no paint e apaguei dados particulares.

baixar PDF

Enviado: 03 Abr 2023 12:30
por JoséQuintas
Só comentário:

Site é igual computador pessoal, funciona a base de PATHs.

chamando nfe_ver.php, significa que isso está no PATH atual, que é o mesmo da URL.
Por isso repeti a URL, trocando só a última parte.

E não é que o chute funcionou, é essa parte que retorna o PDF pra ser mostrado como página, e baixando direto é o PDF.

Troquei nfe_base.php por nfe_ver.php

o resto da linha tem a ver com configurações para o iframe, uma espécie de janela dentro da página.
Não sei mexer com essas coisas, só conheço esse básico mesmo.

baixar PDF

Enviado: 03 Abr 2023 13:46
por malcarli
Show mestre, funcionou perfeitamente. Nunca ia consegui sem sua ajuda. Obg