2012-04-19 36 views
8

Estoy tratando de mostrar un archivo PDF local en un WebBrowser-Control. No quería usar Adobe-Libraries porque no son compatibles con 64 bits. Ahora ya tengo el código para mostrar un PDF, pero solo si no está en el HDD local. Cuando hice clic con el botón derecho en WebBrowser-Control y visualicé SourceCode del HTML, lo guardé como un archivo HTML para verificar, si el código HTML funciona correctamente. Bueno, funcionaMostrar un archivo PDF local en WPF con WebBrowser-Control

Mi ventana solo consiste en un WebControl maximizado. Creo que el problema es la configuración de seguridad de Internet Explorer local. He leído que una costumbre IInternetSecurityManager podría resolver el problema, pero no sé cómo ponerlo en práctica ...:/

estoy usando C# con .NET Framework 4.0

Aquí está mi código:

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 "guardado de URL" solo funciona si abro directamente el código HTML en IE, así que dígame qué hacer para que funcione este código ... Tal vez tenga una solución mejor por mi problema ¡Gracias por tu ayuda!

Saludos, Chris

Respuesta

14

Sólo tiene que utilizar

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

En mi caso, que funciona en Win7, pero si me quedo en mi aplicación Win8.1, el archivo está siendo descargado por el IE. – anthoLB29

+2

Necesita algún tipo de complemento PDF (por ejemplo, Adobe Reader) instalado, para que IE pueda mostrar el archivo. Entonces no será descargado. – chris6523