Visualizzare PDF all'interno di una maschera

di il
15 risposte

Visualizzare PDF all'interno di una maschera

Buongiorno,

non riesco a capire qual'è il modo migliore per visualizzare un file PDF che riporta delle informazioni.

Ho creato un programma per registrare i visitatori in azienda.

Volevo aggiungere un pulsante per aprire un modulo in PDF che riporta informazioni sulla privacy e sul trattamento dei dati sensibili.

Quale secondo voi potrebbe essere il metodo giusto?

Ho già generato una maschera dove il visitatore si registra e ho messo a disposizione del visitatore un pulsante per leggere l'informativa sulla privacy.

Pensavo che al click del pulsante si potesse aprire una ulteriore maschera con all'interno il PDF informativo.

Non saprei però come fare…

Ho trovato questo codice nel forum

mydir = "C:\__________.PDF"
Me.Application.FollowHyperlink Address:=mypdf

ma così apro adobe acrobat.

Io vorrei invece, se possibile, rimanere all'interno della maschera e mettere a disposizione del visitatore un pulsante per chiuderla dopo aver letto l'informativa.

Se avete dei suggerimenti da per capire come meglio procedere, vi ringrazio da subito… 

Un saluto

15 Risposte

  • Re: Visualizzare PDF all'interno di una maschera

    Devi usare un controllo WEBBROWSER, è un Activex disponibile nella libreria.

    Quindi lo usi esattamente come un Browser e lo fai navigare passando il tuo Riferimento “Path completo”

    Me.WebBrowser0.Navigate "c:\YourFolder\Yourpdf.pdf"

    Ovviamente diventa non gestibile il controllo della lettura, non riesci a verificare che abbia quanto meno scrollato verso il basso… però è un buon metodo.

  • Re: Visualizzare PDF all'interno di una maschera

    Non puoi usare un contenitore ole?

    Così aggiungi il pulsante “Accetto” e chiudi il form.

  • Re: Visualizzare PDF all'interno di una maschera

    Alex Grazie…

    Ho provato ad inserire il codice che mi hai consigliato ma non riesco a farlo funzina.

    Con WebBrowser non mi accetta il “navigate” e va in errore.

    Se uso invece EdgeBrowser funziona ma mi apre ugualmente Adobe Acrobat.

    Dove e cosa sto sbagliando?

    Ho visto dei video di suggerimento ma anche seguendo passo passo il codice non riesco a trovare la soluzione.

    Mi potresti dare qualche suggerimento?

    Grazie

  • Re: Visualizzare PDF all'interno di una maschera

    Buonasera sihsandrea,

    non ho mai utilizzato un contenotore ole e non saprei come fare.

    Vedo se riesco a trovare in rete qualche video di suggerimento.

    Se magari ne hai uno a portata di mano me lo potresti passare?

    Grazie

  • Re: Visualizzare PDF all'interno di una maschera

    Io di access ho ricordi remoti. 

    In delphi metto l'ole, disabilito l'apertura automatica e metto in visualizzazione contenuto (non icona).

    Tuttavia, un pdf, come dice il nome, è un file di stampa che rispetta la stampa originaria, utile se devi inviarlo per posta elettronica, io metterei un memo non editabile da scorrere, alla fine dello scroll, abiliti il pulsante di presa visione, magari memorizzi data e utente, ed hai una pseudo-certificazione che l'utente ha letto (o è arrivato alla fine del testo).

    Considera che l'ole è un collegamento al contenuto.

    Se inserisci un file word o excell al doppio click apri la relativa applicazione.

    Io lo uso per mostrare l'anteprima delle schede di sicurezza (bugiardino) in anteprima ma la modifica la abilito se il dataset va in edit o insert mode.

    A te basta un oggetto memo.

  • Re: Visualizzare PDF all'interno di una maschera

    11/10/2023 - Giampy72 ha scritto:


    non riesco a capire qual'è il modo migliore per visualizzare un file PDF che riporta delle informazioni.

    Devi importare il controllo ActiveX di Acrobat Reader all'interno della tua applicazione, tramite la maschera dei Riferimenti, cercandolo tra quelli registrati nel sistema.

    Una volta importato il controllo, dovresti poterlo aggiungere alla maschera e accedere alle sue proprietà o metodi, tra cui ve n'è senz'altro uno per aprire il documento PDF tramite il percorso e visualizzarlo all'interno dell'area del controllo stessa.

    Per poter funzionare, Acrobat deve essere ovviamente installato, in quanto viene usato a mo' di server, ossia l'interfaccia che vedi è in realtà quella dell'applicazione, o del controllo che usa l'applicazione originale, ricavata nella tua maschera.

    Se non lo trovi, è possibile che le versioni più recenti siano già prive di questo controllo, e allora la questione si complica perché occorre trovare un controllo alternativo o seguire un'altra strada, sebbene Access non lasci molto spazio da questo punto di vista (si interfaccia bene a tecnologie che Microsoft e i produttori vari stanno lentamente deprecando).

  • Re: Visualizzare PDF all'interno di una maschera

    Per dare l'idea…

    https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://m.youtube.com/watch%3Fv%3DY8a11gVBLEU&ved=2ahUKEwjf89aBuu6BAxUsFVkFHR79CAc4ChCjtAF6BAgKEAE&usg=AOvVaw3LWiT5E1yRkbXEZ2ew6PHf

    Se metti un pdf apre il lettore pdf al doppio click e sai che ha aperto il file.

    In access di più non posso aiutarti.

  • Re: Visualizzare PDF all'interno di una maschera

    Buonasera sihsandrea,

    le tue informazioni sono per me molto utili.

    Ti ringrazio davvero e presto voglio provare ad utilizzare il tuo suggerimento.

    Poi, se il mio risultato è presentabile, te lo farò sapere.

    Grazie ancora.

    Buona serata

  • Re: Visualizzare PDF all'interno di una maschera

    Buonasera Alka,

    credo che tu abbia ben individuato uno dei motivi per cui non mi funziona.

    Infatti, utilizzando il controllo activex che ho a disposizione mi esce una schermata bianca…

    Bene, con tutte le informazioni che mi avete passato, dovrò provare e trovare la giusta strada, come dici tu…

    Grazie davvero anche a te e buona serata.

  • Re: Visualizzare PDF all'interno di una maschera

    11/10/2023 - Giampy72 ha scritto:


    Infatti, utilizzando il controllo activex che ho a disposizione mi esce una schermata bianca…

    Qual è il controllo ActiveX che stai utilizzando?
    Sicuro che non sia quello di IE invece che quello di Acrobat?

    Riporta il nome e/o una schermata per capire.

  • Re: Visualizzare PDF all'interno di una maschera

    A me il controllo web browser classico funziona con il più banale dei 

    Me.WebBrowser1.Navigate "C:\IL\Tuo\Percorso\File.pdf"

    Non l'ho provato (perché non ce l'ho sotto mano) su Access a 64bit, ammesso che faccia la differenza.

    11/10/2023 - Giampy72 ha scritto:


    Con WebBrowser non mi accetta il “navigate” e va in errore.

    che tipo di errore? Come hai scritto il codice VBA? A titolo di informazione aggiuntiva anche se magari è inutile: versione di Access e bitness (32/64 bit)

    Se hai Microsoft(Office)365, quello in abbonamento, puoi usare il controllo WebView2 (controllo browser Edge)

    Attenzione alle regole tutte nuove “di sicurezza” per l'apertura dei file:

    https://www.devhut.net/everything-you-never-wanted-to-know-about-the-access-modern-web-browser-control/#File

    Content From a Local File

    Now if you want to load a local file, things have changed!

    Now you have to prefix the file path/name with the protocol “https://msaccess/“. Thus, to load a file, we do:

    Me.EdgeBrowser0.Navigate "https://msaccess/C:\Users\Dev\Desktop\myfile.html"

    We can thus load all sorts of types of local files, to name but a few:

    • html files
    • many types of images
    • Text files, CSV files
    • PDFs
    • JSON/XML
    • and many more

    If you omit the protocol (https://msaccess/), the file will instead be opened directly in Edge, not the Access Web Browser control.

    (e molto altro, leggere tutto)

  • Re: Visualizzare PDF all'interno di una maschera

    12/10/2023 - Philcattivocarattere ha scritto:


    A me il controllo web browser classico funziona con il più banale dei 

    Me.WebBrowser1.Navigate "C:\IL\Tuo\Percorso\File.pdf"

    Confermo esattamente quanto esposto.

    Nemmno io ho testato su Office64bit, quindi valido per la versione 32Bit.

  • Re: Visualizzare PDF all'interno di una maschera

    Buongiorno a tutti,

    ho sistemato la cosa utilizzando il Web Browser.

    Ho salvato il file docx in html e poi l'ho richiamato con il Web Browser

    Poi, utilizzando l'evento “Con rotellina mouse” ho attivato il controlllo che dopo essere arrivato alla fine del testo si attiva il pulsante di uscita per testimoniare l'avvenuta lettura del testo.

    Private Sub Form_MouseWheel(ByVal Page As Boolean, ByVal count As Long)
    
    If count > 0 Then
        Me.PUExit.Enabled = True
        Me.IMExit.Visible = True
    End If
    
    End Sub

     Se però utilizzo invece questo codice "Me.WebBrowser1.Navigate "C:\IL\Tuo\Percorso\File.pdf"" mi appare questa segnalazione

    Vi ringrazio tutti per i suggerimenti che mi avete dato.

    Aprirò una nuova discusioione per capire come gestire lo scroolbar del Web Browser (per quello che suggeriva sihsandrea).

    Grazie e a presto

  • Re: Visualizzare PDF all'interno di una maschera

    Buoingiorno Alka,

    scusami. Mi sono dimenticato di risponderti.

    Molto probabilmente sono io che sbaglio qualcosa comunque se dai qualche aiuto provo anche con il metodo Activex.

    In definitiva dovrei aprire la maschera, inserire il controllo activex e inserirci il pdf?

    Come lo inserisco all'interno del riquadro ctlactivex?

    Non rieco ad allegare la foto. Mi appare questo messaggio => Couldn't upload file: Activex.JPG.

    Provo caso mai allengando in un nuovo messaggio

    Grazie

Devi accedere o registrarti per scrivere nel forum
15 risposte