Visualizzare PDF

PDF con .NET e C#

Scritto da Roberto Rossi il 11-2019

Oggi parliamo di C# e PDF.

Il problema che affronteremo oggi è apparentemente complesso.

Come è possibile visualizzare un file PDF all'interno di una applicazione desktop scritta con .NET e C#?

Tante soluzioni

Di soluzioni per visualizza un PDF ne esistono diserse. Ognuna con i suoi pro e i suoi contro.

Se ne possono vedere alcune su Stackoverflow:

https://stackoverflow.com/questions/4504442/viewing-pdf-in-windows-forms-using-c-sharp

Una sola di questo mi ha convinto.

Io sono partito da un assunto semplice, il software leader indiscusso nella visualizzazione dei file PDF è Adobe Reader.

La probabilità di trovare Adobe Reader sul PC di qualcuno che fa uso di file PDF è molto elevata. Quindi ho deciso di utilizzare questo software per implementare ciò che mi serve.

Tutto estremamente facile

Ciò che ci serve per questo progetto:

  • Windows 10.
  • Adobe Reader.
  • Visual Studio, qualsiasi versione recente.

Veniamo al dunque. Apriamo il nostro Visual Studio, va benissimo anche la versione Community, creiamo una finestra, mettiamoci una casella di testo dove inseriremo il percorso del file da visualizzare, poi un tasto che visualizzarà il file, infine inseriamo un oggetto WebBrowser. In questo modo:

Form1

Il codice. L'unico codice che ci serve è quello che inseriremo nell'evento click del nostro tasto. Una sola linea:

private void button1_Click(object sender, 
                            EventArgs e)
{
    webBrowser1.Navigate(textBox1.Text);
}

Esatto. Non serve altro. Il programma è pronto per una prova. Lanciamo il software, inseriamo il percorso del nostro PDF e premiamo in nostro pulsante. Ecco il risultato:

Form1 con PDF

Il PDF viene visualizzato all'interno dell'oggetto WebBrowser, attraverso Adobe Reader.

Dettagli

Ho trovato questo sistema particolarmente interessante per alcuni motivi:

  • Viene utilizzato un visualizzatore affidabile e ultra-collaudato.
  • L'installazione di Adobe Reader è l'unico prerequisito necessario.
  • Il codice scritto è veramente pochissimo, sorprendente.

Ogni altra soluzione che ho provato presentava delle problematiche, alle volte legate alla qualità del visualizzatore, altre volte alla complessità del codice o delle librerie aggiuntive da integrare.

Ovviamente, se non è possibile disporre di Adobe Reader sarà necessario adottare una soluzione differente.

Il progetto di prova

Per testare quanto detto ho preparato un piccolissimo progetto di prova:

Codice sorgente

Scaricabile cliccando qui.

Credo che per oggi sia tutto.

Grazie per aver letto questo articolo.

Chiunque volesse esprimere il proprio parere può farlo scrivendomi attraverso i collegamenti/link presenti in tutte le pagine.