Arire un pdf dentro una webBrowser control

giovedì 15 luglio 2010 - 17.10
Tag Elenco Tags  C#  |  .NET 3.5  |  Windows 7  |  Visual Studio 2008  |  Office 2007  |  Firefox

paolo_88 Profilo | Newbie

ciao a tutti!
ho un piccolo problema con l'apertura dei pdf dentro un webBrowser.
Se il file che voglio aprire è un banale .txt non ci sono problemi, gli passo il percorso del file e viene quindi visualizzato all'interno del webBrowser control.
Quando però gli passo un file con dominio *.pdf l'apertura avviene ma me lo apre acrobat reader.
Esiste un modo per farlo dentro il control?
Grazie a tutti per le risposte.

nb: ho letto di questo link ma purtroppo non dice come ha fatto :(
http://www.dotnethell.it/forum/messages.aspx?ThreadID=25506

freeteo Profilo | Guru

Ciao,
il webbrowser nasce per visualizzare HTML, e usa il motore di IE. Chiaramente se hai installato un viewer di pdf, e gli hai configurato anche il fatto che si apra dentro alla pagina piuttosto che esternamente, quando al webbrowser gli dici di aprire quel file dovrebbe aprirsi dentro alla pagina.

Ad esempio:
webBrowser1.Navigate(@"C:\tmp\report.pdf");

se hai configurato che si apra dentro al browser, viene visualizzato il report dentro, altrimenti viene chiesto di salvare...forse si è persa l'impostazione di ie? Guarda questo link: http://kb2.adobe.com/cps/328/328233.html in particolare il punto 4 magari...

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

paolo_88 Profilo | Newbie

ok ti ringrazio per la risposta!!!! provo a vedere sperando di capire ;)

freeteo Profilo | Guru

>ok ti ringrazio per la risposta!!!! provo a vedere sperando di
>capire ;)
ok, hai provato il codice che ti ho postato, usando il metodo "Navigate" del browser cosa ti succede sul pc, chiede di salvare il file?


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

paolo_88 Profilo | Newbie

Ciao!!
si ho provato, e non mi chiede di salvare il file, semplicemente mi parte adobe reader e me lo apre lui, invece quello che vorrei fare io è aprirlo dentro al form.

tornando su quello che mi avevi scritto tu:
[
Chiaramente se hai installato un viewer di pdf, e gli hai configurato anche il fatto che si apra dentro alla pagina piuttosto che esternamente, quando al webbrowser gli dici di aprire quel file dovrebbe aprirsi dentro alla pagina.
]
ecco ma cosa intendi per viewer di pdf? ti spiego io non ho fatto nulla di tutto ciò sul mio webBrowser control nel mio form, magari bisogna fare quello ma non so come fare se mi puoi dare una mano te ne sarei molto grato..
ho notato invece da come mi avei suggerito nel link al punto 4 che effettivamente il mio IE ha come componente agg il "viewer" di adobe infatti provando ad aprire un pdf con IE questo me lo apre dentro ad IE.

grazie!!

freeteo Profilo | Guru

>ecco ma cosa intendi per viewer di pdf? ti spiego io non ho fatto
>nulla di tutto ciò sul mio webBrowser control nel mio form, magari
>bisogna fare quello ma non so come fare se mi puoi dare una mano
>te ne sarei molto grato..
intendo "Adobe Viewer" o "Foxit Reader" cmq qualche programma che ti visualizzi i file di quel tipo



>ho notato invece da come mi avei suggerito nel link al punto
>4 che effettivamente il mio IE ha come componente agg il "viewer"
>di adobe infatti provando ad aprire un pdf con IE questo me lo
>apre dentro ad IE.
eh, questo secondo me è il punto critico...casomai prova a postare il codice che hai scritto per vedere che non ci sia qualcos'altro che ci sfugge...cmq sia io proverei a reinstallare (disinstallare/installare) il viewer da adobe oppure appunto Foxit Reader http://www.foxitsoftware.com/pdf/reader/ (che io uso regolarmente e trovo molto più leggero di quello di adobe e praticamente con le stesse funzionalità che servono a me...).

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

paolo_88 Profilo | Newbie

Ciao! ok proverò a vedere come va con questo foxit reader.
Ti posso però allegare il progetto, è ridotto all'essenziale, c'e un menu apri, se gli passi un txt funziona perfettamente, con il pdf invece nel mio caso mi parte adobe reader e lo apre lui. vorrei sapere come si comporta nel tuo caso, grazie 1000!!

freeteo Profilo | Guru

Ciao,
come ti dicevo secondo me è un problema del plugin che non si apre dentro a IE, da me infatti si apre dentro al WebBrowser nella Form correttamente:

800x600 84Kb


Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

paolo_88 Profilo | Newbie

Ciao!!
di funziona! grazie 1000, ho fatto come mi hai detto tu mi sono scaricato foxit e non ci sono problemi per fortuna..
purtroppo non sono troppo soddisfatto :( ti spiego il mio problema:
con queste righe di codice:

using mshtml;//<==
//bisogna aggiungere una reference microsoft.mshtml
private void toolStripButton2_Click(object sender, EventArgs e)
{
IHTMLDocument2 htmlDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLSelectionObject currentSelection = htmlDocument.selection;
if (currentSelection != null)
{
IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange;

if (range != null)
{
richTextBox1.Text = range.text;
Console.Beep();
Console.Beep(500, 500);
}
}
}

è possibile prendere del testo selezionato dal webBrowser.
Pensavo, speravo, di poter prendere il testo selezionato anche dal pdf essendo dentro al webbrowser (questa cosa funziona con il file TXT) ma con mio grande dispiacere non è stato cosi..
mi dirai posso sempre prenderlo con un coppia incolla e va benissimo per carità, però conosci per caso un altro modo??
grazie ancora!

freeteo Profilo | Guru

>di funziona! grazie 1000, ho fatto come mi hai detto tu mi sono
>scaricato foxit e non ci sono problemi per fortuna..
ok


>mi dirai posso sempre prenderlo con un coppia incolla e va benissimo
>per carità, però conosci per caso un altro modo??
no, il fatto è che anche se sei effettivamente dentro al browser, la gestione (visualizzazione etc...) del documento è nell'OCX quindi con quello dovresti parlare...non so se c'è qualcosa di fattibile tramite javascript, prova a guardare sul sito ma non credo...


>grazie ancora!
di nulla, siamo qui per questo

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo

27salvo Profilo | Newbie

Scusate ma anche io ho un problema, ho realizzato una applicazione con un webbrowser, entro in un sito del ministero per passare una ricedtta elettronica quando clicco su stampa in un tasto nella pagina web da dentro il webbrowser non si apre il file pdf e mi da erore http500 mentre se entro nel sito da explorer e clicco sul tasto stampa funziona tutto! come posso fare?? aiutatemi sono disperato!!!

freeteo Profilo | Guru

Ciao,
non riaprire thread chiusi, soprattutto da così tanto tempo, aprine uno di nuovo e magari cita questo come riferimento alla similitudine di problema.

Grazie

Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
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