【问题标题】:Load PDF file using WebBrowser control使用 WebBrowser 控件加载 PDF 文件
【发布时间】:2012-05-14 14:28:56
【问题描述】:

我知道这个问题已经被问过了。但我找不到任何合适的答案。这是我的问题。 我尝试使用 Webbrowser 控件在本地机器上加载 pdf 文件以进行打印预览。它工作正常。但问题是如果未安装 adobe reader,webbrowser 控件不会打开文件进行预览。我的意思是说,例如,如果安装了 Foxit 阅读器,那么webbrowser控件也不支持。我无法访问本地机器注册表来查找已安装的应用程序。因为应用程序也是为本地用户安装的。

 webBrowser1.Navigate("......");

如果webbrowser无法使用adobe reader打开文件,是否可以显示警报?

【问题讨论】:

    标签: c# winforms webbrowser-control


    【解决方案1】:

    Detecting Adobe Reader

    希望这会有所帮助。

    编辑:

    webBrowser1.DocumentText = @"
                <html>
                <head>
                    <script type='text/javascript'>
                        var isInstalled = false;
                        var version = null;
                        if (window.ActiveXObject) 
                        {
                              var control = null;
                              try {
                                // AcroPDF.PDF is used by version 7 and later
                                control = new ActiveXObject('AcroPDF.PDF');
                              } catch (e) {
                                // Do nothing
                              }
                              if (!control) 
                              {
                                try 
                                {
                                  // PDF.PdfCtrl is used by version 6 and earlier
                                  control = new ActiveXObject('PDF.PdfCtrl');
                                } 
                                catch (e) 
                                {
                                  alert(e);
                                  //return;
                                }
                              }
                              if (control) {
                                    isInstalled = true;
                                    version = control.GetVersions().split(',');
                                    version = version[0].split('=');
                                    version = parseFloat(version[1]);
                                    alert('Adobe reader is installed. Version: ' + version);
                              }
                              else
                               {
                                    alert('Adobe reader is not installed');
                               }
                        } 
                        else 
                        {
                          // Check navigator.plugins for ""Adobe Acrobat"" or ""Adobe PDF Plug-in""*
                        }
    
                    </script>
                </head>
                    <body>
                    </body>
                </html>";
    

    【讨论】:

    • 抱歉问题不完整。我正在使用 winform C# 应用程序。如何在此处使用 javascript 代码
    • 谢谢。但是如果没有安装阅读器,我如何限制 webbrowser1.Navigate("...")
    • 这个链接解决了我的问题。msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-09
    • 2013-03-03
    • 1970-01-01
    • 2010-12-15
    • 2017-11-07
    • 2012-12-01
    • 2013-02-20
    相关资源
    最近更新 更多