2012-04-19 283 views
8

我試圖在WebBrowser控件中顯示本地PDF文件。我不想使用Adobe-Libraries,因爲它們不支持64位。現在我已經有了顯示PDF的代碼,但只有當它不在本地硬盤上。當我右鍵單擊WebBrowser-Control並顯示HTML的SourceCode時,我將其保存爲HTML文件以檢查HTML代碼是否正確工作。那麼,它的作品。用WebBrowser控件在WPF中顯示本地PDF文件

我的窗口只包含最大化的WebControl。我認爲問題是本地Internet Explorer的安全設置。我讀了一個自定義IInternetSecurityManager可以解決這個問題,但我不知道如何實現它...:/

我使用C#和.NET Framework 4.0中

這裏是我的代碼:

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 
    } 

我,如果我直接在IE中打開HTML碼的「保存從URL」部分不只是工作,所以請告訴我該怎麼做,才能獲得此代碼的工作...也許你有一個更好的解決方案爲我的問題。謝謝你的幫助!

的問候, 克里斯

回答

14

只需使用

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

在我的情況下,Win7上工作,但如果我在Win8.1運行我的應用程序,該文件是由IE下載。 – anthoLB29 2014-04-09 10:44:25

+2

您需要安裝某種PDF插件(例如Adobe Reader),因此IE可以顯示該文件。然後它不會被下載。 – chris6523 2016-11-04 12:13:12