`

jsp有关在ie中打开pdf文件的问题

    博客分类:
  • JSP
阅读更多

背景:

      在基于BS模式的项目中,我们一般对于报表、需要打印的数据,都是直接在ie中以pdf中显示出来的,这是因为ie调用了pdf插件,这样才可以正确显示。比如:页面提供一个按钮,打印当前页面数据,点击后,即会在ie中调用pdf插件,以Pdf格式显示这些数据,然后执行打印。  

问题产生:       

在一个项目中打印报表时,出现打印部分数据,数据在ie中以pdf形式显示没有问题,如果打印全部,就出现无法显示数据,jsp页面报500的错误  

     说明:Jsp中显示pdf数据,一般就是在一个单独页面设置 response.setContentType("application/pdf");然后把要显示的数据以字节流的形式,输出。

分析:       

      经过多次试验,对比,排除程序等其他可能的原因,最后发现        当操作系统安装的是一些其他的pdf软件时,在ie下存在一个问题,即如果要显示的数据为两页以上,那么就会出现在ie中无法以Pdf格式显示数据,打开的ie会显示无法打开该页面即500错误;但是如果显示的数据在一页以内,即可以在ie中以pdf的格式显示数据。说明:这个错误是本人在ie下测试过的,这里前提是没有安装adobe 的pdf软件,而是安装其他的pdf软件,如:在ie下,安装了adobe pdf也不会出现这个问题,不过如果显示两页以上数据,不会显示在ie中了,而是重新以pdf软件打开,显示数据;如果只显示一页数据,数据会在ie中以pdf形式显示数据,完全正常。    

      经过分析,本人怀疑,可能是下面的原因:

在jsp中为了显示pdf数据,设置了jsp的头格式为: response.setContentType("application/pdf");这样就会调用和ie关联的pdf软件,显示数据,如果数据可以在一页内显示,那么当前的Jsp就可以正常显示了,但是如果数据超过了一页,那么jsp页面没办法,显示那么多的数据,就比如要单独调用pdf软件,打开数据。如果可以正常调用pdf软件,如adobe,那么就会以adobe pdf软件的形式打开数据,如果调用pdf软件失败,那么就会在jsp页面出现无法显示数据的问题。  

解决办法:

这是一个普遍性的问题,如果安装了adobe 的pdf软件,那么不会出现这样的问题。所以建议安装adobe的pdf软件,以从根本上解决这个问题。    

分享到:
评论

相关推荐

    ie直接打开pdf、图片

    首先,IE浏览器在较早的版本中默认支持直接打开PDF文件,但随着Adobe Reader的更新和安全考虑,这种方式逐渐被浏览器内置的安全策略限制。为了在现代IE浏览器中实现这一功能,开发者通常会使用以下两种方法: 1. **...

    pdf.js使用文件流预览pdf

    总的来说,通过使用PDF.js的文件流预览功能,开发者可以创建一个高效且兼容性强的Web应用,让用户在浏览器中流畅地预览PDF文件。这在处理大量或大尺寸PDF时尤其有益,因为它减少了内存占用,提高了加载速度。在实际...

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

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

    Jsp页面中的字符编码方式与乱码解决方法[归类].pdf

    response.setCharacterEncoding("UTF-8"),在 IE 中显示该页面时,在 IE 的菜单中选择“查看-->编码”中可以查看到是“Unicode(UTF-8)”,而在 JSP 中设置 response.setCharacterEncoding("GBK"),在 IE 中显示该...

    jspsmart.jar包及帮助文档

    ",以表明将下载的文件作为附件,结果是IE浏览器将会提示另存文件,而不是自动打开这个文件(IE浏览器一般根据下载的文件扩展名决定执行什么操作,扩展名为doc的将用word程序打开,扩展名为pdf的将用acrobat程序打开...

    Weblogic实施方案.pdf

    - 为了使IE浏览器能直接打开DOC、XLS、PDF等类型的文件,需要在`WEB-INF/web.xml`文件中添加相应的`<mime-mapping>`配置,例如: ```xml <extension>doc <mime-type>application/msword <extension>xls ...

    网页WB.ExecWB控件打印方法调用说明及参数介绍

    在提供的代码中,还包含了对打印相关操作的JavaScript封装。具体如下: - printsetup():此函数用于调用页面设置,参数为(8,1),它通常会调用浏览器的打印设置界面。 - printpreview():调用参数为(7,1)的打印预览...

    Web网站中常用功能测试用例汇集借鉴.pdf

    在给定文件内容中,我们可以看到许多与Web网站测试相关的关键点和知识点。 首先,文档提到了CSS和按钮元素(button),这暗示了界面样式的测试和按钮功能性的测试。Web开发人员通常会使用CSS来控制网页的外观和格式...

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

    在`viewer.jsp`中,你可以通过设置`productFilePath`变量来指定PDF文件的路径,这将由后台Action传递。在`viewer.js`的`webViewerInitialized`函数中,将`queryString`替换为`productFilePath`,这样就可以根据不同...

    JavaScript从小白到入门图文教程.pdf

    JavaScript是一门重要的前端编程语言,以其在浏览器中的广泛应用而闻名。它允许开发者通过编写脚本来实现网页的动态特效、表单验证等功能。本教程旨在帮助初学者逐步了解和掌握JavaScript的基础知识,以及相关的开发...

    农行网银点确认支付没反应解决方法.pdf

    文档提供了详细的解决步骤,包括在 IE 浏览器中设置可信站点、Activex控件和插件的设置、下载农行口令卡客户包等等。 知识点一: nông行网银点确认支付没反应的原因 农行网银点确认支付没反应的主要原因是由于...

    计算机数据安全实验指导书.pdf

    实验中,学生需要了解恶意代码的概念,学习如何在Windows 2000/XP操作系统上,使用Java Standard Edition 1.4.0以上的JDK、MySQL数据库、JSP开发语言、Tomcat Web服务器和IE5.0或IE6.0浏览器进行环境配置。...

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

    如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘...

    将 数据 导入 到 Excel

    尽管如此,在服务端使用时需确保安装了相应的办公软件,在客户端使用则需考虑IE安全设置问题。 #### 三、在ASP.NET中使用Excel进行数据导出 文章重点介绍了在ASP.NET中使用Excel进行数据导出的具体步骤: 1. **...

    js 打印以及预览功能实现

    `jsPDF`可以用于生成PDF文件,然后让用户选择打印或下载。 总的来说,实现JS打印和预览功能涉及到JavaScript的基本方法、HTML5特性、CSS页面布局以及可能的第三方库。根据具体需求,开发者可以选择合适的方法或工具...

Global site tag (gtag.js) - Google Analytics