在一般的OA项目中经常会遇到在线处理Office文档的需求,先下载文件,编辑保存后再选择文件上传的方式太过原始,在如今早已是Office Online的时代,没有用户能接受这种蹩脚的操作方式。

虽然微软公司也是Office Online的主要推手,通过使用Office 365免费的Office Online应用就可以一起创建、共享更多内容、实现协作处理 Word 文档等更多目标,但是微软的Office Online是一个对内封闭的系统,账号使用的是微软自己官方的用户账号,文件数据也是交由微软服务器存储,不提供对文档处理流程和内容控制的开发接口,所以目前在OA项目的开发中,在线处理Word文件的主流实现方式还是使用Word控件(也有称作Office控件的),但本质上这些控件是浏览器页面中的控件,与视频网站的flash控件使用相同的开发技术。

目前市面上支持在线编辑文档的word插件有很多,而且还有某些很多年前就开始免费的插件。由于插件技术自身的复杂性和近年来操作系统、浏览器环境、Office版本的剧烈变化等因素影响,免费插件早已惨遭淘汰,在付费的插件中比较常用的就是PageOffice了,PageOffice封装了服务器端的Java编程对象,控制客户端word控件的表现,总的来说接口还是简单易用的,比如说在线打开一个word文件,后台只需要下面几行代码:

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setServerPage("poserver.zz");
poCtrl1.setSaveFilePage("savefile.jsp");// 处理文件保存工作
poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");//打开文件

而在页面中需要出现Word界面的位置插入getHtmlCode方法返回的html代码即可。

String htmlCode = poCtrl1.getHtmlCode("PageOfficeCtrl1");

PageOffice最新版本提供了兼容所有浏览器的解决方案,在支持office文件在线编辑的基础上还提供了痕迹保留、动态填充、合并文件、提取文档中数据等功能,总的来说还是一个不错的选择。

Java 如何在线打开编辑word文档?的更多相关文章

  1. Java jacob调用打印机打印word文档

    前面说了Java如何生成复杂的Word文档,今年记录下Java如何调用打印机打印word文档. 起初用的是自带的PrintJob,但是系统提供的打印机制并不成熟完整.网上的代码也是千篇一律,在我的打印 ...

  2. 编辑word文档过程中输入法无法正常使用

    编辑word文档过程中输入法无法正常使用怎么办??有的朋友在使用Word 2010过程中,遇到了这样的问题.每次打开word文档,程序就自动变成英文输入法,中文输入法就退出了,特别是搜狗输入法.即使在 ...

  3. Java 用Freemarker完美导出word文档(带图片)

    Java  用Freemarker完美导出word文档(带图片) 前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. ...

  4. Asp.Net在线预览Word文档的解决方案与思路

    前几天有个老项目找到我,有多老呢?比我工作年限都长,见到这个项目我还得叫一声前辈. 这个项目目前使用非常稳定,十多年了没怎么更新过,现在客户想加一个小功能:在线预览Word文档. 首先想到的是用第三方 ...

  5. [原创]Java在线编辑word文档调用PageOffice实现并发控制

    1.功能介绍 PageOffice的并发控制功能用来解决多个用户在线编辑同一篇文档可能造成的互相覆盖修改结果的技术难题. B/S架构下用户访问都是并发的,也就是说经常会出现同时N个用户对一个服务器页面 ...

  6. 在线编辑word文档 可保存到服务器

    使用说明:该方法只在office xp 和 2003上 测试通过,2000及以下 版本没试. 注意:你要打开的服务器端的word文档要有写权限.iis要开起 web服务扩展中的webdav为允许 具体 ...

  7. [转载]Java开发在线打开编辑保存Word文件

    Java调用logo是“P”图标的第三方插件,实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 工具/原料   Eclipse或MyEclipse等j ...

  8. [原创]Java开发在线打开编辑保存Word文件(支持多浏览器)

    Java调用PageOffice实现在线编辑保存Word文件(以jsp调用为例,支持SSM.SSH.SpringMVC等流行框架) 1. 下载PageOffice开发包:http://www.zhuo ...

  9. Java 读取txt文件生成Word文档

    本文将以Java程序代码为例介绍如何读取txt文件中的内容,生成Word文档.在编辑代码前,可参考如下代码环境进行配置: IntelliJ IDEA Free Spire.Doc for Java T ...

随机推荐

  1. 标记excel中输入的重复数据

    首先选中需要标记重复的数据列 开始 -> 条件格式 -> 突出显示单元格规则 -> 重复值 选择相应的颜色即可 效果如下:

  2. hive 总结四(优化)

    本文参考:黑泽君相关博客 本文是我总结日常工作中遇到的坑,结合黑泽君相关博客,选取.补充了部分内容. 表的优化 小表join大表.大表join小表 将key相对分散,并且数据量小的表放在join的左边 ...

  3. java-day07

    API 应用程序编程接口 Scanner类 将键盘输入的数据到程序中 1.导包 2.创建 Scanner 对象名 = new Scanner(); 3.使用 int num = 对象名.nextInt ...

  4. scrapy爬虫框架爬取招聘网站

    目录结构 BossFace.py文件中代码: # -*- coding: utf-8 -*-import scrapyfrom ..items import BossfaceItemimport js ...

  5. html自定义分页

    public class MyPager { /// <summary> /// 每一页数据的条数 /// </summary> public int PageSize { g ...

  6. 判断Paging File 的方法

    当前环境,MiniFilter 1:FsRtlIsPagingFile 参数是一个 FileObject 2:判断操作标识   SL_OPEN_PAGING_FILE FlagOn 宏可以直接做到,传 ...

  7. java_新特性未整理

    得到的.className method.isAnnotationPresent:判断是否有指定的注解,注解.class method.invoke:执行 */}

  8. angular 级联选择

    HTML: <link rel="stylesheet" href="views/tree/checkbox.css"/> <div clas ...

  9. CDH spark2切换成anaconda3的问题

    最近spark2有同事想用anaconda3做开发,原因是上面可以跑机器学习的库(服务器因为没外网pip装whl确实麻烦) 1.先在每台机器安装anaconda3 2.把用户的~/.bashrc配置进 ...

  10. Python全栈开发:web框架们

    Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Python的标准库外,其不依赖任何其他模块. 1 2 3 ...