`
lshh83
  • 浏览: 159424 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

 
阅读更多
一:在jsp上显示pdf   Java代码 
 
<%@ 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> 


<%@ 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中,结果可行。
代码如下:

Java代码 
<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> 

<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代码
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>     
 
<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>  

<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代码
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> 

<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代码
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> 

<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代码
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]--> 

<!--[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; }
/**/

Html代码
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>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics