2012-04-19 9 views
8

Sto tentando di visualizzare un file PDF locale in un controllo WebBrowser. Non volevo usare le librerie di Adobe, perché non supportano 64 bit. Ora ho già il codice per visualizzare un PDF, ma solo se non è sull'HDD locale. Quando ho fatto clic con il pulsante destro del mouse su WebBrowser-Control e visualizzato il codice sorgente dell'HTML, l'ho salvato come file HTML per verificare se il codice HTML funziona correttamente. Bene, funziona.Visualizzazione di un file PDF locale in WPF con WebBrowser-Control

La mia finestra è composta esclusivamente da un WebControl ottimizzato. Penso che il problema sono le impostazioni di sicurezza del locale Internet Explorer. Ho letto che un IInternetSecurityManager personalizzato potrebbe risolvere il problema, ma non so come implementarlo ...:/

sto usando C# con .NET Framework 4.0

Ecco il mio codice:

void MainWindow_Loaded(object sender, RoutedEventArgs e) 
    {    
     string url = "C:/test.pdf"; 
     string html = "<!-- saved from url=(0014)about:internet -->\n<html>\n<body>\n<embed src=\"" + url + "\" width=\"100%\" height=\"100%\"/>\n</body>\n</html>"; 
     webBrowser.NavigateToString(html); // System.Windows.Controls.WebBrowser 
    } 

I la parte "salvato da URL" funziona solo se apro direttamente il codice HTML in IE, quindi per favore dimmi cosa fare, per far funzionare questo codice ... Forse hai una soluzione migliore per il mio problema Grazie per l'aiuto!

saluti, Chris

risposta

14

Basta usare

webBrowser.Navigate("file:///" + url); 
+4

Nel mio caso, che funziona su Win7, ma se corro la mia applicazione sul Win8.1, il file viene scaricato da IE. – anthoLB29

+2

È necessario installare un qualche tipo di plug-in PDF (ad esempio Adobe Reader), in modo che IE possa visualizzare il file. Quindi non verrà scaricato. – chris6523

Problemi correlati