PDF在线预览 ,兼容IE,chrome。使用了pdfobject.js_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > PDF在线预览 ,兼容IE,chrome。使用了pdfobject.js

PDF在线预览 ,兼容IE,chrome。使用了pdfobject.js

 2014/12/3 16:10:27  呖咕呖咕  程序员俱乐部  我要评论(0)
  • 摘要:PDF在线预览,兼容IE,CHROMEhttp://files.cnblogs.com/w519/PDFViewSolution.rar本人写的PDF在线预览DEMO使用了pdfobject.js和adobeReader阅读器。因为PDFobjcet.js不兼容IE浏览器,而,所以在chrome浏览器上pdfobjcet.js打开PDF,而IE浏览器中使用adobeReader阅读器打开PDF。1.在Default.aspx页面判断浏览器,如果是IE,且判断是否安装了adobeReader
  • 标签:使用 兼容IE 在线 Chrome 兼容 JS

PDF在线预览,兼容IE,CHROME

http://files.cnblogs.com/w519/PDFViewSolution.rar

本人写的PDF在线预览DEMO使用了pdfobject.js和adobe Reader阅读器。

因为PDFobjcet.js不兼容IE浏览器,而,所以在chrome浏览器上pdfobjcet.js打开PDF,而IE浏览器中使用adobe Reader阅读器打开PDF。

1.在Default.aspx页面判断浏览器,如果是IE,且判断是否安装了adobe Reader,跳转到PDFView.aspx页面,在后台输出PDF文件。如果是chrome就用pdfobject.js,在本页面输出PDF

Default.aspx代码

class="code_img_closed" src="/Upload/Images/2014120316/0015B68B3C38AA5B.gif" alt="" />
  <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script src="Scripts/pdfobject.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            var w = $(document).width();
            var h = $(document).height();            
            $("#pdf1").css("width", w).css("height", h);
            

            // 下面代码都是处理IE浏览器的情况 
            if (window.ActiveXObject || "ActiveXObject" in window) {
                //判断是否为IE浏览器,"ActiveXObject" in window判断是否为IE11
                //判断是否安装了adobe Reader
                for (x = 2; x < 10; x++) {
                    try {
                        oAcro = eval("new ActiveXObject('PDF.PdfCtrl." + x + "');");
                        if (oAcro) {
                            flag = true;
                        }
                    } catch (e) {
                        flag = false;
                    }
                }
                try {
                    oAcro4 = new ActiveXObject('PDF.PdfCtrl.1');
                    if (oAcro4) {
                        flag = true;

                    }
                } catch (e) {
                    flag = false;
                }
                try {
                    oAcro7 = new ActiveXObject('AcroPDF.PDF.1');
                    if (oAcro7) {
                        flag = true;
                    }
                } catch (e) {
                    flag = false;
                }
                if (flag) {
                    $('#pdf1').hide();
                    location = "PDFView.aspx";
                }
                else {
                    alert("对不起,您还没有安装PDF阅读器软件呢,为了方便预览PDF文档,请选择安装!");
                    location = "http://ardownload.adobe.com/pub/adobe/reader/win/9.x/9.3/chs/AdbeRdr930_zh_CN.exe";
                }
            }
            else {
                //alert($.trim(urls));
                var success = new PDFObject({ url: 'PDF/19-P1012728-064_ZHCN-Draft.pdf', pdfOpenParams: { scrollbars: '0', toolbar: '0', statusbar: '0'} }).embed("pdf1");
                if (!success) {
                    var opts = {
                        width:$(document).width(),
                        height: $(document).height(),
                        autoplay: true
                    };
                }
            }
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">    
     <div id="pdf1" >对不起,您还没有安装PDF阅读器软件呢,为了方便预览PDF文档,请选择安装!
     <a href="PDF/19-P1012728-064_ZHCN-Draft.pdf">PDF/19-P1012728-064_ZHCN-Draft.pdf</a>
     </div>    
    </form>
View Code

PDFView.aspx.cs代码

 protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Browser.Browser.ToLower() != "chrome")
            {
                
                    string filePath = Server.MapPath("pdf/19-P1012728-064_ZHCN-Draft.pdf");
                    Response.ClearContent();
                    Response.ClearHeaders();
                    string FilePost = filePath.Substring(filePath.Length - 3).ToLower();
                    switch (FilePost)
                    {
                        case "pdf":
                            Response.ContentType = "application/PDF";
                            break;
                        case "doc":
                            Response.ContentType = "application/msword";
                            break;
                        case "xls":
                            Response.ContentType = "application/vnd.ms-excel";
                            break;
                        default:
                            Session["ErrorInfo"] = "不支持的文件格式:" + FilePost;
                            Response.Redirect("ErrorPage.aspx");
                            break;
                    }
                    Response.WriteFile(filePath);
                    Response.Flush();
                    Response.Close();
                    Session.Remove("Report");
                
            }
            else if (Request.Browser.Browser.ToLower() == "chrome")
            {

                string filePath = Server.MapPath("pdf/19-P1012728-064_ZHCN-Draft.pdf");
                    Response.ClearContent();
                    Response.ClearHeaders();
                    string FilePost = filePath.Substring(filePath.Length - 3).ToLower();
                    Response.Clear();
                    Response.ClearHeaders();
                    Response.Buffer = false;

                    if (Request.Browser.Browser == "Firefox")
                        System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "1.pdf");
                    else
                        System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode("1.pdf", System.Text.Encoding.UTF8));               

                    using (System.IO.FileStream fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open))
                    {
                        byte[] by = new byte[fs.Length];
                        fs.Read(by, 0, by.Length);
                        Response.BinaryWrite(by);
                        Response.AddHeader("Accept-Language", "zh-tw");
                        Response.ContentType = "application/octet-stream";
                        Response.AppendHeader("Content-Length ", by.Length.ToString());
                        System.Web.HttpContext.Current.Response.Flush();
                        System.Web.HttpContext.Current.Response.End();
                    }
                }

        }

 

 

 

 

发表评论
用户名: 匿名