使用WebBrowser-Control在WPF中显示本地PDF文件

chr*_*523 8 c# browser pdf wpf

我正在尝试在WebBrowser-Control中显示本地PDF文件.我不想使用Adobe-Library,因为它们不支持64位.现在我已经有了显示PDF的代码,但前提是它不在本地硬盘上.当我右键单击WebBrowser-Control并显示HTML的SourceCode时,我将其保存为HTML文件以检查HTML代码是否正常工作.嗯,它的工作原理.

我的窗口只包含一个最大化的WebControl.我认为问题是本地Internet Explorer的安全设置.我读到自定义IInternetSecurityManager可以解决问题,但我不知道如何实现它...:/

我在.NET Framework 4.0中使用C#

这是我的代码:

    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
    }
Run Code Online (Sandbox Code Playgroud)

我"从URL保存"部分仅在我直接在IE中打开HTML代码时起作用,所以请告诉我该怎么做,让这段代码工作......也许你有一个更好的解决方案来解决我的问题.谢谢你的帮助!

问候,克里斯

Jen*_*ens 15

只是用

webBrowser.Navigate("file:///" + url);
Run Code Online (Sandbox Code Playgroud)

  • 在我的情况下,这适用于Win7,但如果我在Win8.1上运行我的应用程序,该文件正在由IE下载. (4认同)
  • 您需要安装某种PDF插件(例如Adobe Reader),因此IE可以显示该文件.然后它将不会被下载. (2认同)