WinForms e PDF

giovedì 08 gennaio 2009 - 19.17

programma1000 Profilo | Newbie

Salve a tutti,

ho la necessità di aprire un PDF all'interno di una Winform.
Ho provato ad utilizzare L'Activex di Acrobat Reader e funziona, c'è solo un piccolo problema: il controllo necessita di un file da aprire tramite il metodo LoadFile, mentre quello di cui ho bisogno io è di aprire un pdf partendo da uno stream. Momentaneamente ho risolto generando un file temporaneo dallo stream e aprendo quello, ma vorrei evitare di riempire il pc di file temporanei.
Le altre soluzioni che ho trovato sono tutte commerciali e vorrei evitare.
Qualche idea o qualche alternativa free?

Vi ringrazio anticipatamente

alexmed Profilo | Guru

Ciao
Hai pensato di utilizzare un controllo WebBrowser?

In un Button gli metti

WebBrowser1.Url = New Uri("C:\mio.pdf")

ed apri il documento

in un altro metti

WebBrowser1.Url = New Uri("about:blank")

e lo chiudi

Ciao

tonyexpo Profilo | Senior Member

>Salve a tutti,
>
>ho la necessità di aprire un PDF all'interno di una Winform.
>Ho provato ad utilizzare L'Activex di Acrobat Reader e funziona,
>c'è solo un piccolo problema: il controllo necessita di un file
>da aprire tramite il metodo LoadFile, mentre quello di cui ho
>bisogno io è di aprire un pdf partendo da uno stream. Momentaneamente
>ho risolto generando un file temporaneo dallo stream e aprendo
>quello, ma vorrei evitare di riempire il pc di file temporanei.
>Le altre soluzioni che ho trovato sono tutte commerciali e vorrei
>evitare.
>Qualche idea o qualche alternativa free?
>
>Vi ringrazio anticipatamente


Ciao
puoi semplicemente cancellare il file a chiusura form intercettando l'evento
FormClosing.
l'Acrobat reader COM non mi sembra avere metodi per leggere stream, e quindi non puoi usare nemmeno derivati come IsolatedStorage.


Antonio Esposito
MCP, MCTS .NET 2.0 Distributed applications

programma1000 Profilo | Newbie

Dunque, avrei optato per utilizzare il controllo WebBrowser.

Ho però un altro problema: utilizzando la proprietà DocumentStream e passandogli lo stream del PDF, il risultato è che non ottengo la visualizzazione del PDF, ma i suoi binari.
La proprietà DocumentType, tra l'altro, è in sola lettura, quindi non ho la possibilità di dirgli che non si tratta di un html.
Utilizzando il metodo Navigate o Uri, lo visualizzo correttamente, però ripeto che vorrei evitare in tutti i modi di non utilizzare file fisici, ma uno stream.

Grazie ancora
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5