Ciao a tutti, in questi giorni mi sono imbattuto in un nuovo problema..
Dovevo visualizzare un documento in PDF in una Windows Form e non c'era verso, anche cercando in internet trovavo molti che chiedevano come fare e nessuno che sapeva rispondere...
Una volta trovata la soluzione ho deciso di metterla qua, sperando che torni utile a qualcuno con il mio stesso problema (facendogli risparmiare un bel po' di tempo).
La soluzione consiste nel ricavare un'immagine per ogni pagina del documento PDF, e di caricarla in un pictureBox. Tutto qui.
Per il nostro progetto avremo bisogno di 1 libreria e 2 classi esterne (rigorosamente OpenSource):
- libreria: gsdll32.dll.
- Classe: Api.cs Documentazione qui
- Classe: Gs.cs Documentazione qui
La libreria la trovate su questo sito gratuitamente.E' open source e la documentazione la trovate qua (è di GhostScript).
Questa libreria dovrete copiarla all'interno della cartella System32 (perchè avremo bisogno di importarla per usarla).
Le 2 classi le potete trovare all'interno di questo progetto in questo percorso: PDFSharp-MigraDocFoundation-1_31\PDFsharp\code\PdfSharp.Ghostscript\Ghostscript\ (io le ho trovate qui, dovrebbero essere scaricabili dal sito di GhostScript comunque)
A questo punto il grosso è fatto.. ecco il codice che ci rimane da scrivere:
//GS è la classe che abbiamo scaricato prima
GS gs = new GS();
//mi creo un'immagine del PDF tramite GhostScript
Image imagePDF = gs.PdfToPng("NomeFilePdf", NumeroPagina, RisoluzioneImmagine);
pictureBoxAnteprima.Image = imagePDF ;
Iscriviti a:
Commenti sul post (Atom)
0 commenti:
Posta un commento