Visualizzare file PDF all’interno di applicazioni WPF

Posted on 19 gennaio 2018. Filed under: Senza categoria |

Anche questa non è una cosa nuova ma può servire magari a programmatori alle prime armi.

Un mio cliente mi ha chiesto che nel gestionale che gli ho sviluppato ci fosse una funzionalità per visualizzare file scanditi con lo scanner.

Poiché la maggior parte degli scanner incorporati nelle stampanti multifunzione creano i documenti in formato PDF, mi serviva qualcosa che visualizzasse quindi i file PDF.

Cercando su Internet ho trovato una libreria veramente facile da implementare.

Il progetto di questa libreria si trova su CodePlex, questo è il link: https://wpfpdfviewer.codeplex.com/

Se pensate vi possa servire, scaricatelo presto, perché Codeplex sta andando a morire, addirittura lo davano in chiusura per il 15/12/2017 anche se ancora è online. Questa è la pagina del blog che ne parla: https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/

Scarichiamo la libreria che la useremo in un nuovo progetto WP di esempio.

Apriamo quindi Visual Studio (qualunque versione va bene), creiamo un nuovo progetto WPF (chiamatelo come volete) e aggiungiamo una Reference alla libreria scaricata. Io ho creato il progetto in VB.NET ma funzionerà anche su un progetto in C# con la dovuta conversione.

image

image

 

 

image

 

Il codice XAML da aggiungere alla Window dove volete far visualizzare il pdf è:

xmlns:WPFPdfViewer="clr-namespace:WPFPdfViewer;assembly=WPFPdfViewer"

 

Questa riga va aggiunta all’interno del tag <Window>, mentre poi all’interno della Grid o del contenitore dove volete far vedere il pdf il codice da aggiungere è:

<WPFPdfViewer:PdfViewer x:Name="pdfViewer" Grid.Column="1">

</WPFPdfViewer:PdfViewer>

 

Se provate ora a compilare il progetto vi saranno mostrati degli errori:

image

 

Questo perché nella stessa cartella del progetto, bisogna aggiungere altre due librerie: Interop.AcroPDFLib.dll e AxInterop.AcroPDFLib.dll scaricabili anche questo nello stesso pacchetto della libreria principale.

Chiudiamo il progetto, inseriamo i due file e lo riapriamo. Ora riproviamo a compilarlo e vedete che non darà più errori.

 

image

Ora nel code-behind dobbiamo aggiungere semplicemente questa riga, con il file pdf da visualizzare:

pdfViewer.LoadFile("C:\3431765765.pdf")

Ovviamente il nome del file può venire dal database, da una TextBox etc. etc. e la riga lo potete mettere in qualunque evento.

Io l’ho messo per test al caricamento della pagina.

Compiliamo ed eseguiamo il progetto ed ecco che il pdf sarà mostrato:

image

 

Una cosa non ovvia. Per poter funzionare c’è bisogno che nel pc sia installato Acrobat Reader DC, da qui il link: https://get.adobe.com/it/reader/

Annunci

Make a Comment

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

w

Connessione a %s...

Liked it here?
Why not try sites on the blogroll...