jsp页面:

  1. <a href=\'#\' onclick=onLine(\''+urls[i]+'\') >在线打开</a>

html页面超链接单击打开online函数

  1. var onLine = function(filename){
  2. var param="toolbar=yes,location=yes,menubar=yes,
  3. scrollbars=yes,resizable=yes";
  4. var path = "DocumentCabinetAction!openOnLine.action?
  5. filepath="+encodeURI(filename);
  6. window.open(path,'maxwindow',param);
  7. };

online函数:打开一个新的窗口,path为后台函数,直接输出流到页面,在线打开。这个函数不能异步提交。

  1. //type 为response 返回类型,filename 为要打开的文件名称
  2. if((filename.indexOf(".xls")>0) || (filename.indexOf(".xlsx")>0)){
  3. type = "application/vnd.ms-excel";
  4. }else if(filename.indexOf(".pdf")>0){
  5. type = "application/pdf";
  6. }else if((filename.indexOf(".doc")>0)  || (filename.indexOf(".docx")>0)){
  7. type = "application/msword";
  8. }else if(filename.indexOf(".txt")>0){
  9. type = "text/plain";
  10. }else if(filename.indexOf(".ppt") >0){
  11. type = "application/ppt";
  12. }
  13. //response设置返回内容type,outputStream输出
  14. response.setContentType(type);
  15. response.setHeader("Content-disposition","inline;filename="+URLEncoder.encode(filename, "utf-8"));
  16. //ftp读取文件,并放入到输出流中
  17. ftp.retrieveFile(new String(filename.getBytes("GBK"),"ISO-8859-1"), outputStream);
  18. outputStream.flush();
  19. outputStream.close();

注意点:一般下载、在线打开不要使用ajax提交,ajax提交会有问题,页面预览的时候第一次还是会弹出下载/打开对话框,第二次就正常显示了

在线打开的条件是:电脑中有相应的打开软件,不然在线显示不了,要想直接靠浏览器打开,要使用插件,比如dsoframer.ocx,这个插件只能打开word,excel ,代码如下:

  1. <div id="div1" style="width:100%;height:90%;">
  2. <OBJECT id="FramerControl1" codeBase="dsoframer.ocx" style="margin:0px;top:0px;height:700px;width:100%" classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57">
  3. <PARAM NAME="_ExtentX" VALUE="16960">
  4. <PARAM NAME="_ExtentY" VALUE="13600">
  5. <PARAM NAME="BorderColor" VALUE="-2147483632">
  6. <PARAM NAME="BackColor" VALUE="-2147483643">
  7. <PARAM NAME="ForeColor" VALUE="-2147483640">
  8. <PARAM NAME="TitlebarColor" VALUE="-2147483635">
  9. <PARAM NAME="TitlebarTextColor" VALUE="-2147483634">
  10. <PARAM NAME="BorderStyle" VALUE="1">
  11. <PARAM NAME="Titlebar" VALUE="0">
  12. <PARAM NAME="Toolbars" VALUE="1">
  13. <PARAM NAME="Menubar" VALUE="0">
  14. </OBJECT>
  15. </div>
  1. //在线打开word,excel path 为全路径,
  2. getWord = function(path){
  3. if(path == null)
  4. {
  5. Ext.Msg.alert('提示', '要打开的文件路径不存在!');
  6. }else if((path.indexOf(".xls") >0) || (path.indexOf(".doc")>0) ){
  7. document.getElementById('FramerControl1').Open(path);
  8. document.getElementById('FramerControl1').ProtectDoc(1,2,"satellite");
  9. //显示修订留痕
  10. document.getElementById('FramerControl1').ShowRevisions(0);
  11. }else{
  12. Ext.Msg.alert('提示', '该格式的文件不能打开!');
  13. }
  14. };

java直接打开pdf,doc,xls的更多相关文章

  1. ubuntu下命令行打开pdf/doc/ppt文件

    1  打开pdf evince   *.pdf 2 打开ppt libreoffice  *.ppt3 打开doc libreoffice  *.doc

  2. [转载]Java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  3. [原创]java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  4. iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls

    我们的自己的应用里面经常涉及的要打开ppt doc,这样的功能,以前总以为iOS沙盒封闭化,不可能实现,后来终于解决了 使用 UIDocumentInteractionController 来解决这一 ...

  5. flexpaper 在线观看 PPT,PDF,DOC等文档

    0.安装环境.可以参考http://www.cnblogs.com/star-studio/archive/2011/12/09/2281807.html     百度关键字 仿百度文库方案 1.借用 ...

  6. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  7. 移动端展示pdf(在线打开pdf)

    需求:在手机微信浏览器或者其他浏览器中打开pdf 准备:前端插件:查找pdf.js  官网地址:http://mozilla.github.io/pdf.js/ 在官网中下载demo 注释:pdf的d ...

  8. Java中实现pdf在线查看和下载

    Java中实现PDF的在线查看和下载,可以以servlet来实现. /** * 支持在线打开和下载 * * @param filePath * @param response * @param isO ...

  9. Java实现Word/Pdf/TXT转html

    引言: 最近公司在做一个教育培训学习及在线考试的项目,本人主要从事网络课程模块,主要做课程分类,课程,课件的创建及在线学习和统计的功能,因为课件涉及到多种类型,像视频,音频,图文,外部链接及文档类型. ...

随机推荐

  1. [bzoj 1001][Beijing2006]狼抓兔子 (最小割+对偶图+最短路)

    Description 现在小朋友们最喜欢的"喜羊羊与灰太狼",话说灰太狼抓羊不到,但抓兔子还是比较在行的, 而且现在的兔子还比较笨,它们只有两个窝,现在你做为狼王,面对下面这样一 ...

  2. cf B. Vasily the Bear and Fly

    http://codeforces.com/contest/336/problem/B #include <cstdio> #include <cstring> #includ ...

  3. SDL入门教程(一):3、MinGW 下的安装与设置

    作者:龙飞 3.1:MinGW 是什么? MinGW 提供了一套简单方便的Windows下的基于GCC 程序开发环境.MinGW 收集了一系列免费的Windows 使用的头文件和库文件:同时整合了GN ...

  4. 错误:指定的任务可执行文件位置 D:\Android\platform-tools\aapt.exe 无效

    android-apt-compiler: Cannot run program "D:\android-sdk\platform-tools\aapt 装上IntelliJ IDEA /下 ...

  5. Google的Protocol Buffer格式分析

    [转]转自:序列化笔记之一:Google的Protocol Buffer格式分析 从公开介绍来看,ProtocolBuffer(PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.作 ...

  6. 方案:在Eclipse IDE 中搭建Python开发环境

    Eclipse是一款功能强大的IDE,Python是一种功能强大的计算机语言,但是Python的IDE环境确实很缺乏,如果在强大的Eclipse中添加Python开发环境,那样就很完美了. 在这里,我 ...

  7. UVA1218--树形DP

    没有看书和题解做的一道树形DP题,思路很清晰..只是debug上花了很久的时间才发现看错了条件..并不是每个点都只能和一台服务器相邻,而是非服务器的点只能和一台服务器相邻..看错了一个条件差距大了去了 ...

  8. 数据库--PHP环境搭建

    一: 1.PHP的架构 LAMP :Linux  阿帕奇  MySQL  PHP WAMP:Linux 阿帕奇  Mysql  PHP (集成的环境搭建软件),一键搭建PHP开发环境工具 2.修改数据 ...

  9. python基础学习05(核心编程第二版)部分

    # -*- coding: utf-8 -*- # ==================== #File: python #Author: python #Date: 2014 #========== ...

  10. Java里多个Map的性能比較(TreeMap、HashMap、ConcurrentSkipListMap)

    问题 比較Java原生的 1.  TreeMap 2.  HashMap 3.  ConcurrentSkipListMap 3种Map的效率. 结果 模拟150W以内海量数据的插入和查找,通过添加和 ...