java直接打开pdf,doc,xls
jsp页面:
- <a href=\'#\' onclick=onLine(\''+urls[i]+'\') >在线打开</a>
html页面超链接单击打开online函数
- var onLine = function(filename){
- var param="toolbar=yes,location=yes,menubar=yes,
- scrollbars=yes,resizable=yes";
- var path = "DocumentCabinetAction!openOnLine.action?
- filepath="+encodeURI(filename);
- window.open(path,'maxwindow',param);
- };
online函数:打开一个新的窗口,path为后台函数,直接输出流到页面,在线打开。这个函数不能异步提交。
- //type 为response 返回类型,filename 为要打开的文件名称
- if((filename.indexOf(".xls")>0) || (filename.indexOf(".xlsx")>0)){
- type = "application/vnd.ms-excel";
- }else if(filename.indexOf(".pdf")>0){
- type = "application/pdf";
- }else if((filename.indexOf(".doc")>0) || (filename.indexOf(".docx")>0)){
- type = "application/msword";
- }else if(filename.indexOf(".txt")>0){
- type = "text/plain";
- }else if(filename.indexOf(".ppt") >0){
- type = "application/ppt";
- }
- //response设置返回内容type,outputStream输出
- response.setContentType(type);
- response.setHeader("Content-disposition","inline;filename="+URLEncoder.encode(filename, "utf-8"));
- //ftp读取文件,并放入到输出流中
- ftp.retrieveFile(new String(filename.getBytes("GBK"),"ISO-8859-1"), outputStream);
- outputStream.flush();
- outputStream.close();
注意点:一般下载、在线打开不要使用ajax提交,ajax提交会有问题,页面预览的时候第一次还是会弹出下载/打开对话框,第二次就正常显示了
在线打开的条件是:电脑中有相应的打开软件,不然在线显示不了,要想直接靠浏览器打开,要使用插件,比如dsoframer.ocx,这个插件只能打开word,excel ,代码如下:
- <div id="div1" style="width:100%;height:90%;">
- <OBJECT id="FramerControl1" codeBase="dsoframer.ocx" style="margin:0px;top:0px;height:700px;width:100%" classid="clsid:00460182-9E5E-11D5-B7C8-B8269041DD57">
- <PARAM NAME="_ExtentX" VALUE="16960">
- <PARAM NAME="_ExtentY" VALUE="13600">
- <PARAM NAME="BorderColor" VALUE="-2147483632">
- <PARAM NAME="BackColor" VALUE="-2147483643">
- <PARAM NAME="ForeColor" VALUE="-2147483640">
- <PARAM NAME="TitlebarColor" VALUE="-2147483635">
- <PARAM NAME="TitlebarTextColor" VALUE="-2147483634">
- <PARAM NAME="BorderStyle" VALUE="1">
- <PARAM NAME="Titlebar" VALUE="0">
- <PARAM NAME="Toolbars" VALUE="1">
- <PARAM NAME="Menubar" VALUE="0">
- </OBJECT>
- </div>
- //在线打开word,excel path 为全路径,
- getWord = function(path){
- if(path == null)
- {
- Ext.Msg.alert('提示', '要打开的文件路径不存在!');
- }else if((path.indexOf(".xls") >0) || (path.indexOf(".doc")>0) ){
- document.getElementById('FramerControl1').Open(path);
- document.getElementById('FramerControl1').ProtectDoc(1,2,"satellite");
- //显示修订留痕
- document.getElementById('FramerControl1').ShowRevisions(0);
- }else{
- Ext.Msg.alert('提示', '该格式的文件不能打开!');
- }
- };
java直接打开pdf,doc,xls的更多相关文章
- ubuntu下命令行打开pdf/doc/ppt文件
1 打开pdf evince *.pdf 2 打开ppt libreoffice *.ppt3 打开doc libreoffice *.doc
- [转载]Java在线打开PDF文档
步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...
- [原创]java在线打开PDF文档
步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...
- iOS 里面如何使用第三方应用程序打开自己的文件,调用wps其他应用打开当前应用里面的的ppt doc xls
我们的自己的应用里面经常涉及的要打开ppt doc,这样的功能,以前总以为iOS沙盒封闭化,不可能实现,后来终于解决了 使用 UIDocumentInteractionController 来解决这一 ...
- flexpaper 在线观看 PPT,PDF,DOC等文档
0.安装环境.可以参考http://www.cnblogs.com/star-studio/archive/2011/12/09/2281807.html 百度关键字 仿百度文库方案 1.借用 ...
- 利用Java动态生成 PDF 文档
利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...
- 移动端展示pdf(在线打开pdf)
需求:在手机微信浏览器或者其他浏览器中打开pdf 准备:前端插件:查找pdf.js 官网地址:http://mozilla.github.io/pdf.js/ 在官网中下载demo 注释:pdf的d ...
- Java中实现pdf在线查看和下载
Java中实现PDF的在线查看和下载,可以以servlet来实现. /** * 支持在线打开和下载 * * @param filePath * @param response * @param isO ...
- Java实现Word/Pdf/TXT转html
引言: 最近公司在做一个教育培训学习及在线考试的项目,本人主要从事网络课程模块,主要做课程分类,课程,课件的创建及在线学习和统计的功能,因为课件涉及到多种类型,像视频,音频,图文,外部链接及文档类型. ...
随机推荐
- PHP接收JSON格式的数据
在API服务中,目前流行采用json形式来交互. 给前端调用的接口输出Json数据,这个比较简单,只需要组织好数据,用json_encode($array) 转化一下,前端就得到json格式的数据. ...
- ecshop安全方面的一些参考建议
一,ecshop安装,其实很简单,只要一直下一步下一步点击即可,这样总是没有错的,因为官方不可能给我们一个有问题的程序,尽量从简即可. 请注意一下两点 A:在安装ecshop的时候,不要将所有文件都设 ...
- 在Win8.1(64位)系统上安装Scrapy(python 2.7.7)
为了在win8.1上安装scrapy折腾了好久,最终安装成功,总结步骤如下: 下载安装Visual C++ 2008 redistributables 安装lxml-3.2.4.win-amd64-p ...
- nginx网站架构优化思路(原)
本人接触的优化主要分为三大类 黑体的为本模块下的重点 ---------------安全优化 安全在生产场景中是第一位的 1.1 站点目录权限的优化 (修改权限755 644 所属用户root,需要 ...
- 查询反模式 - 正视NULL值
一.提出问题 不可避免地,我们都数据库总有一些字段是没有值的.不管是插入一个不完整的行,还是有些列可以合法地拥有一些无效值.SQL 支持一个特殊的空值,就是NULL. 在很多时候,NULL值导致我们的 ...
- paip.Adblock屏蔽规则保存位置以及修理恢复
paip.Adblock屏蔽规则保存位置以及修理恢复 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.n ...
- 杭州网赛 two rabbits (hdu 4745)
算法很简单,问题是,怎么证明,答案是回文序列. 设a,b走的序列按顺时针是: a1 , a2 , a3 , ... , ak b1 , b2 , b3 , ... , bk 考虑端点的2种情况: 1. ...
- 第02讲- Android开发环境
第02讲Android开发环境 需要下载的软件: JDK(JavaDevelopment Kit) Eclipse AndroidSDK(SoftwareDevelopmentKit) ADT(And ...
- 【转载】C代码优化方案
C代码优化方案 1.选择合适的算法和数据结构2.使用尽量小的数据类型3.减少运算的强度 (1)查表(游戏程序员必修课) (2)求余运算 (3)平方运算 (4)用移位实现乘除法运算 (5)避免不必要的整 ...
- SPRING+JNDI+C3P0 in tomcat6
Tomcat 中Jndi是使用Tomcat自带的连接池,由于客户要求,抛弃Tomcat自带的连接池.使用c3p0 .经过几个小时调试,解决方案如下: 环境:Tomcat 6 下面来看Jndi 与 c3 ...