使用WebBrowser控件加载PDF文件

时间:2012-05-05 05:17:14

标签: c# winforms webbrowser-control

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

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

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

1 个答案:

答案 0 :(得分:0)

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>";