`
llyzq
  • 浏览: 585430 次
  • 性别: 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>    
分享到:
评论

相关推荐

    pdf.js使用文件流预览pdf

    PDF.js是一个开源JavaScript库,由Mozilla开发,用于在Web浏览器中渲染PDF文档,无需依赖任何插件。这个库的目标是提供一个与平台和浏览器无关的解决方案,使得用户可以在任何支持HTML5的浏览器上查看PDF文件。本文...

    js插件方式打开pdf文件(浏览器pdf插件分享)

    在JSP网页中嵌入PDF文件显示主要有两种方案,一种是通过HTML链接直接嵌入PDF文件,另一种是使用JavaScript插件来加载PDF。下面将详细介绍这两种方案和一些流行的JavaScript PDF插件。 首先,讨论直接链接方案。在...

    jsp、web打印功能Lodpo6.0

    在Web应用程序开发中,打印功能是一项常见的需求,允许用户从浏览器直接打印网页内容或者特定的文档。Java Server Pages (JSP) 提供了这样的能力,通过集成第三方库,如Lodop,可以轻松实现Web打印。Lodop是一款高效...

    web项目引入PDF.js并添加水印禁止下载

    【描述】:本文主要介绍如何在Web项目中集成PDF.js库,实现PDF文件的预览,并添加水印功能,同时禁止用户通过常规方式下载或打印PDF文档。我们将详细讲解每个步骤,包括下载与引入PDF.js库、动态预览PDF、隐藏相关...

    兼容所有浏览器的快速Web打印控件

    在IT行业中,Web打印控件是一种关键的技术工具,它允许用户在不同的Web浏览器上便捷地打印网页内容。本文将深入探讨“兼容所有浏览器的快速Web打印控件”这一主题,结合给定的描述和标签,我们将关注C#、JSP、PHP这...

    LODOP打印控件ASP等网页可以用.rar

    1. **无插件打印**:用户无需安装任何浏览器插件,即可在网页上直接打印。 2. **跨平台支持**:兼容各种浏览器和操作系统,包括IE、Firefox、Chrome、Safari、Opera等。 3. **多样化打印内容**:支持文本、图片、...

    05-Status-Codes-Chinese.pdf

    1. **使用`response.setStatus(int statusCode)`**:这个方法用于设置状态码,但不建议直接使用整数作为参数,而应该使用定义在`HttpServletResponse`中的常量,如`HttpServletResponse.SC_OK`、`...

    DHTMLXTree中文开发指导.pdf

    此组件适用于多种服务器端技术,如Macromedia Cold Fusion、JSP和ASP.NET。DHTMLX Tree的显著特点包括: 1. **多浏览器/多平台支持**:DHTMLX Tree支持包括IE 5.5+、Safari、Mozilla 1.4+、Firefox 0.9+和Opera在内...

    richfaces_reference.pdf

    此文档旨在详细介绍RichFaces 3.3.3版本的功能特性、技术要求及如何在实际项目中使用该框架。 #### 二、技术要求 1. **支持的Java版本**:为了确保最佳兼容性与性能,RichFaces 3.3.3推荐使用Java SE 5或更高版本...

    SA800呼叫中心系统第三方开发手册(V1.2).pdf

    - **分机与坐席**: 在本文档中,分机与坐席被视为同一概念。 - **电话转接**: 当坐席A正在与客户B通话时,如果A需要将通话转给坐席C,可通过电话转接功能实现。 - **电话拦截(抢接)**: 如果分机A有电话打入并开始...

    建设工程消防质量数字管理系统用户手册分享.pdf

    - **基础数据设置**:设置系统的基础参数和规则。 2. **进入系统** 用户需使用支持IE 6.0以上版本的浏览器访问特定URL(http://59.175.218.82/FQMS/login.jsp),并确保将系统地址添加到IE的可信站点中,以保证...

    计算机网络安全技术:雷弛新闻系统的搭建.pdf

    IE浏览器不显示页面,可能需要调整浏览器的兼容性设置;路径参数错误,不允许使用"..",这可能导致路径遍历漏洞;后台功能异常,可能需要给网站目录添加写入和修改权限;以及在更新的Windows Server版本上,需要在...

    网管教程 从入门到精通软件篇.txt

     如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p 即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r 找到坏扇区并...

    ec7配置开关说明

    - 设置为 `1` 表示在 IE 中显示系统设置菜单。 - 设置为 `0` 表示不显示。 #### systemThemeTemplate.properties - **功能**:控制是否启用网站主题模板。 - **配置示例**:`##Ƿģվģ` - 如果需要启用网站主题...

Global site tag (gtag.js) - Google Analytics