码迷,mamicode.com
首页 > Web开发 > 详细

在jsp上显示pdf||网页直接打开PDF 在IE中显示pdf文档的方法及参数设置

时间:2015-11-16 16:01:15      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

一:在jsp上显示pdf  

<%@ page language="java" import="java.util.*,java.io.*"
pageEncoding="ISO-8859-1"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
    + request.getServerName() + ":" + request.getServerPort()
    + path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
   <base href="<%=basePath%>">
</head>
<%
   out.clear();
   out = pageContext.pushBody();
   response.setContentType("application/pdf");
   try {
    String strPdfPath = new String("D://200701010001.PDF");
    //判断该路径下的文件是否存在
    File file = new File(strPdfPath);
    if (file.exists()) {
     DataOutputStream temps = new DataOutputStream(response
       .getOutputStream());
     DataInputStream in = new DataInputStream(
       new FileInputStream(strPdfPath));
     byte[] b = new byte[2048];
     while ((in.read(b)) != -1) {
      temps.write(b);
      temps.flush();
     }
     in.close();
     temps.close();
    } else {
     out.print(strPdfPath + " 文件不存在!");
    }
   } catch (Exception e) {
    out.println(e.getMessage());
   }
%>
<body>
   <br>
</body>
</html>

二:如果访问者的计算机上没有装acrobat reader,直接用iframe或者直接用链接打开,那就不是打开文档,而是直接下载了,为了防止下载,想像到媒体文件的播放方式,加上一些官方的docs,考虑用用object标签使用pdf插件嵌入ie中,结果可行。 
代码如下:

<HTML>
    <HEAD>
        <META http-equiv="Content-Type" content="text/html; charset=gb2312">
        <META http-equiv="Content-Style-Type" content="text/css">
        <META http-equiv="Content-Script-Type" content="text/javascript">
        <TITLE>Checking if Acrobat Reader installed (IE4+)...</TITLE>
        <SCRIPT for="window" event="onload"
<!--
            document.all [
                         document.all.PDFNotKnown ? "IfNoAcrobat" : "IfAcrobat"
                         ] .style.display = "block";
        //--></SCRIPT>
    </HEAD>
    <BODY>
        <NOSCRIPT>
            Cannot determine if you have Acrobat Reader (or the full Acrobat)
            installed <FONT size="-1">(because JavaScript is unavailable or 
            turned off)</FONT>.
        </NOSCRIPT>
        <DIV id="IfNoAcrobat" style="display:none">
            你需要先安装Adobe Reader才能正常浏览文件,请点击这里下载Adobe Reader.
        </DIV>
        <OBJECT type="application/pdf" width=0 height=0 style="display:none">
            <DIV id="PDFNotKnown" style="display:none">&nbsp;</DIV>
        </OBJECT>
   <DIV id=showdiv
style="Z-INDEX: 0; LEFT:10px; WIDTH: 990px; POSITION: absolute; TOP: -8px; HEIGHT: 10px">
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="990" height="700" border="0" top="-10" name="pdf"> 
<param name="toolbar" value="false">
<param name="_Version" value="65539">

<param name="_ExtentX" value="20108">

<param name="_ExtentY" value="10866">

<param name="_StockProps" value="0">

<param name="SRC" value="MXL.pdf">
</object>
</DIV>
</BODY>
</HTML>

三:在网页中直接显示pdf格式的文件方便阅读。但是如果文件较大加载速度会很慢,另外如果客户端没有安装pdf阅读插件的话,也就看不了了,不过还是贴出来了,各取所需吗。(1.pdf要改成自己的pdf文件路径插入到页面文件中) 

Html代码:

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">   
<param name="_Version" value="65539">   
<param name="_ExtentX" value="20108">   
<param name="_ExtentY" value="10866">   
<param name="_StockProps" value="0">   
<param name="SRC" value="1.pdf">   
</object>   

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="1.pdf">
</object>

标准浏览器中: 
Java代码 :

<object data="1.pdf" type="application/pdf" width="300" height="200">    
alt : <a href="1.pdf">test.pdf</a>    
</object>   

<object data="1.pdf" type="application/pdf" width="300" height="200"> 
 alt : <a href="1.pdf">test.pdf</a>
</object>

IE7.0以上版本的浏览器中可用如下方法,低版本的IE会显示两个Object区域 :

Java代码 :

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">    
<param name="_Version" value="65539">    
<param name="_ExtentX" value="20108">    
<param name="_ExtentY" value="10866">    
<param name="_StockProps" value="0">    
<param name="SRC" value="1.pdf">    
<object data="1.pdf" type="application/pdf" width="300" height="200">    
alt : <a href="1.pdf">test.pdf</a>    
</object>    
</object>   

<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="1.pdf">
<object data="1.pdf" type="application/pdf" width="300" height="200"> 
 alt : <a href="1.pdf">test.pdf</a>
</object>
</object>

低版本浏览器中的处理方法1:

Java代码 :

<!--[if IE]>    
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">    
<param name="_Version" value="65539">    
<param name="_ExtentX" value="20108">    
<param name="_ExtentY" value="10866">    
<param name="_StockProps" value="0">    
<param name="SRC" value="1.pdf">    
</object>    
<![endif]-->    
<!--[if !IE]> <!-->    
<object data="1.pdf" type="application/pdf" width="800" height="1050">       
alt : <a href=‘http://get.adobe.com/cn/reader‘>Adobe Reader.pdf</a>    
</object>    
<!--<![endif]-->   

<!--[if IE]>
 <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">
<param name="_Version" value="65539">
<param name="_ExtentX" value="20108">
<param name="_ExtentY" value="10866">
<param name="_StockProps" value="0">
<param name="SRC" value="1.pdf">
 </object>
<![endif]-->
 <!--[if !IE]> <!-->
 <object data="1.pdf" type="application/pdf" width="800" height="1050">   
alt : <a href=‘http://get.adobe.com/cn/reader‘>Adobe Reader.pdf</a>
</object>
 <!--<![endif]-->

  低版本浏览器中的处理方法2:通过CSS控制显示隐藏 :

Html代码 

/* hides the second object from all versions of IE */       
* html object.hiddenObjectForIE { display: none; }    
/* display the second object only for IE5 Mac */    
/* IE Mac \*//*/    
* html object.hiddenObjectForIE { display: inline; }    
/**/   
/* hides the second object from all versions of IE */ 
* html object.hiddenObjectForIE { display: none; } 
/* display the second object only for IE5 Mac */ 
/* IE Mac \*//*/ 
* html object.hiddenObjectForIE { display: inline; } 
/**/ 
<object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">     
<param name="_Version" value="65539">     
<param name="_ExtentX" value="20108">     
<param name="_ExtentY" value="10866">     
<param name="_StockProps" value="0">     
<param name="SRC" value="1.pdf">     
<object data="1.pdf" type="application/pdf" width="300" height="200" class="hiddenObjectForIE">      
alt : <a href="1.pdf">test.pdf</a>     
</object>     
</object>



Html代码 

在jsp上显示pdf||网页直接打开PDF 在IE中显示pdf文档的方法及参数设置

标签:

原文地址:http://my.oschina.net/u/2331760/blog/530926

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!