Aprire un file PDF da browser

Buongiorno a tutti,

sto litigando con una cosa che parrebbe banale… aprire un pdf su un oggetto WebHTMLViewer… o in alternativa su un altra finestra del browser.
I miei tentativi sono stati :

  • passare il link del documento direttamente nella url dell’oggetto (es. file:///C:/Users/utente/Desktop/nomefile.pdf
  • passare il link dentro un oggetto WebLink (es. file:///C:/Users/utente/Desktop/nomefile.pdf)

Mi sembra impossibile che non si possa aprire un file pdf da una applicazione web di xojo
Utilizzo 2019R3.2

Grazie a tutti
Enrico

Non credo che puoi aprire da browser che naviga un file del computer

Hi @cnaservizi_cnaservizi

Penso che tu possa trovare un modo per farlo usando il progetto di esempio PDFDocument che puoi trovare in Esempi di progetti> PDF> EE-Web. Sono abbastanza sicuro che puoi fare lo stesso con qualsiasi altro PDF dal percorso di cui hai bisogno.

Javier, immagino tu parli della versione 2021? perché io uso ancora la 2019r3 in quanto con la 2020 o la 2021 sarei stato costretto a riscrivere le mie applicazione per la quasi totalità…

Ciao Antonio,

se trascino un link di un file nel browser lo apre, soprattutto un pdf, so che ci sono software come dyna pdf che risolvono la problematica, io ho provato anche a passare il pdf in base64 per poi ricaricarlo ma quando creo la propreties mi manda in palla l’applicazione…

Prova in questo modo:

Var f As FolderItem = SpecialFolder.Desktop.Child("file.pdf")
If f <> Nil And f.Exists Then
var PDFFile as WebFile = Webfile.Open(f)

#if XojoVersion <2020 then
  WebHTMLViewer1.URL = PDFFile .URL
#else
  WebHTMLViewer1.LoadURL PDFFile .URL
#endif

End If

Se ti da problemi metti la proprietà PDFFile come varibiale della pagina. Non ho testato il codice ma sono andato a memoria. Se poi hai bisogno ti creo il progetto di esempio.

Ricordati che questo ha senso solo se il file è sul server dove gira la webapp, altrimenti devi prima fare l’upload del file e poi mostrarlo.

Ciao Attilio,

intanto grazie,

ho provato il tuo metodo ma nel debug il percorso del PDFFile diventa :
/281E7939E0AFB0EEC5AC7AA3E7187BC58E2FDE18/files/0986-0438-9875-6259-6769/cnaparma.pdf

e ovviamente non lo trova.

Ciao, figurati :wink:

Si certo è corretto. Il percorso deve essere quello in quanto ha caricato il file web. Se non lo trova è perchè come ti dicevo la variabile PDFFile devi definirla a livello di pagina web altrimenti una volta eseguito il codice l’oggetto PDFFile viene distrutto e non trova più il percorso. Ora se riesco ti credo un esempio.

Trovi il file di esempio qui. Avevo dimenticato due istruzioni:

PDFFile.MIMEType = "application/pdf"
PDFFile.ForceDownload = False

ATTILO SEI UN GRANDE!!!

grazie spero di ricambiare!

Enrico

1 Like

Figurati Enrico! Se posso aiuto volentieri :wink: