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

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

    博客分类:
  • J2EE
 
阅读更多

转自:http://lilinhui.iteye.com/blog/761613

 

一:在jsp上显示pdf  

Java代码   收藏代码
  1. <%@ page language="java" import="java.util.*,java.io.*"  
  2. pageEncoding="ISO-8859-1"%>  
  3. <%  
  4. String path = request.getContextPath();  
  5. String basePath = request.getScheme() + "://"  
  6.     + request.getServerName() + ":" + request.getServerPort()  
  7.     + path + "/";  
  8. %>  
  9.   
  10. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  11. <html>  
  12. <head>  
  13.    <base href="<%=basePath%>">  
  14. </head>  
  15. <%  
  16.    out.clear();  
  17.    out = pageContext.pushBody();  
  18.    response.setContentType("application/pdf");  
  19.   
  20.    try {  
  21.     String strPdfPath = new String("D://200701010001.PDF");  
  22.     //判断该路径下的文件是否存在  
  23.     File file = new File(strPdfPath);  
  24.     if (file.exists()) {  
  25.      DataOutputStream temps = new DataOutputStream(response  
  26.        .getOutputStream());  
  27.      DataInputStream in = new DataInputStream(  
  28.        new FileInputStream(strPdfPath));  
  29.   
  30.      byte[] b = new byte[2048];  
  31.      while ((in.read(b)) != -1) {  
  32.       temps.write(b);  
  33.       temps.flush();  
  34.      }  
  35.   
  36.      in.close();  
  37.      temps.close();  
  38.     } else {  
  39.      out.print(strPdfPath + " 文件不存在!");  
  40.     }  
  41.   
  42.    } catch (Exception e) {  
  43.     out.println(e.getMessage());  
  44.    }  
  45. %>  
  46. <body>  
  47.    <br>  
  48. </body>  
  49. </html>  



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

Java代码   收藏代码
  1. <HTML>  
  2.     <HEAD>  
  3.         <META http-equiv="Content-Type" content="text/html; charset=gb2312">  
  4.         <META http-equiv="Content-Style-Type" content="text/css">  
  5.         <META http-equiv="Content-Script-Type" content="text/javascript">  
  6.         <TITLE>Checking if Acrobat Reader installed (IE4+)...</TITLE>  
  7.         <SCRIPT for="window" event="onload"  
  8. <!--  
  9.             document.all [  
  10.                          document.all.PDFNotKnown ? "IfNoAcrobat" : "IfAcrobat"  
  11.                          ] .style.display = "block";  
  12.         //--></SCRIPT>  
  13.     </HEAD>  
  14.     <BODY>  
  15.         <NOSCRIPT>  
  16.             Cannot determine if you have Acrobat Reader (or the full Acrobat)  
  17.             installed <FONT size="-1">(because JavaScript is unavailable or   
  18.             turned off)</FONT>.  
  19.         </NOSCRIPT>  
  20.         <DIV id="IfNoAcrobat" style="display:none">  
  21.             你需要先安装Adobe Reader才能正常浏览文件,请点击这里下载Adobe Reader.  
  22.         </DIV>  
  23.         <OBJECT type="application/pdf" width=0 height=0 style="display:none">  
  24.             <DIV id="PDFNotKnown" style="display:none">&nbsp;</DIV>  
  25.         </OBJECT>  
  26.    <DIV id=showdiv  
  27. style="Z-INDEX: 0; LEFT:10px; WIDTH: 990px; POSITION: absolute; TOP: -8px; HEIGHT: 10px">  
  28. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="990" height="700" border="0" top="-10" name="pdf">   
  29. <param name="toolbar" value="false">  
  30. <param name="_Version" value="65539">  
  31.   
  32. <param name="_ExtentX" value="20108">  
  33.   
  34. <param name="_ExtentY" value="10866">  
  35.   
  36. <param name="_StockProps" value="0">  
  37.   
  38. <param name="SRC" value="MXL.pdf">  
  39. </object>  
  40. </DIV>  
  41. </BODY>  
  42. </HTML>  



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



Html代码 

Java代码   收藏代码
  1. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">     
  2. <param name="_Version" value="65539">     
  3. <param name="_ExtentX" value="20108">     
  4. <param name="_ExtentY" value="10866">     
  5. <param name="_StockProps" value="0">     
  6. <param name="SRC" value="1.pdf">     
  7. </object>     
  8.   
  9. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">  
  10. <param name="_Version" value="65539">  
  11. <param name="_ExtentX" value="20108">  
  12. <param name="_ExtentY" value="10866">  
  13. <param name="_StockProps" value="0">  
  14. <param name="SRC" value="1.pdf">  
  15. </object>  


标准浏览器中: 

Java代码 

Java代码   收藏代码
  1. <object data="1.pdf" type="application/pdf" width="300" height="200">      
  2. alt : <a href="1.pdf">test.pdf</a>      
  3. </object>     
  4.   
  5. <object data="1.pdf" type="application/pdf" width="300" height="200">   
  6.  alt : <a href="1.pdf">test.pdf</a>  
  7. </object>  


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

Java代码 

Java代码   收藏代码
  1. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">      
  2. <param name="_Version" value="65539">      
  3. <param name="_ExtentX" value="20108">      
  4. <param name="_ExtentY" value="10866">      
  5. <param name="_StockProps" value="0">      
  6. <param name="SRC" value="1.pdf">      
  7. <object data="1.pdf" type="application/pdf" width="300" height="200">      
  8. alt : <a href="1.pdf">test.pdf</a>      
  9. </object>      
  10. </object>     
  11.   
  12. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">  
  13. <param name="_Version" value="65539">  
  14. <param name="_ExtentX" value="20108">  
  15. <param name="_ExtentY" value="10866">  
  16. <param name="_StockProps" value="0">  
  17. <param name="SRC" value="1.pdf">  
  18. <object data="1.pdf" type="application/pdf" width="300" height="200">   
  19.  alt : <a href="1.pdf">test.pdf</a>  
  20. </object>  
  21. </object>  


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

Java代码 

Java代码   收藏代码
  1. <!--[if IE]>      
  2. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">      
  3. <param name="_Version" value="65539">      
  4. <param name="_ExtentX" value="20108">      
  5. <param name="_ExtentY" value="10866">      
  6. <param name="_StockProps" value="0">      
  7. <param name="SRC" value="1.pdf">      
  8. </object>      
  9. <![endif]-->      
  10. <!--[if !IE]> <!-->      
  11. <object data="1.pdf" type="application/pdf" width="800" height="1050">         
  12. alt : <a href='http://get.adobe.com/cn/reader'>Adobe Reader.pdf</a>      
  13. </object>      
  14. <!--<![endif]-->     
  15.   
  16. <!--[if IE]>  
  17.  <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">  
  18. <param name="_Version" value="65539">  
  19. <param name="_ExtentX" value="20108">  
  20. <param name="_ExtentY" value="10866">  
  21. <param name="_StockProps" value="0">  
  22. <param name="SRC" value="1.pdf">  
  23.  </object>  
  24. <![endif]-->  
  25.  <!--[if !IE]> <!-->  
  26.  <object data="1.pdf" type="application/pdf" width="800" height="1050">     
  27. alt : <a href='http://get.adobe.com/cn/reader'>Adobe Reader.pdf</a>  
  28. </object>  
  29.  <!--<![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代码   收藏代码
  1. <object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" width="800" height="1050" border="0">     
  2. <param name="_Version" value="65539">     
  3. <param name="_ExtentX" value="20108">     
  4. <param name="_ExtentY" value="10866">     
  5. <param name="_StockProps" value="0">     
  6. <param name="SRC" value="1.pdf">     
  7. <object data="1.pdf" type="application/pdf" width="300" height="200" class="hiddenObjectForIE">      
  8. alt : <a href="1.pdf">test.pdf</a>     
  9. </object>     
  10. </object>    
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics