普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果。

下面我就简单的和大家分享一下如何实现Word文档的在线打开、编辑和保存。

第一步:请先安装PageOffice的服务器端的安装程序,之后在WEB项目下的“WebRoot/WEB-INF/lib”路径中添加pageoffice.cab和pageoffice.jar(在www.zhuozhengsoft.com网站的“下载中心”中可下载相应的压缩包,解压之后,双击运行Pageoffice服务器端安装程序setup.exe,之后将pageoffice.cab和pageoffice.jar文件拷贝到该目录下就可以了)文件。

第二步:修改WEB项目的配置文件,将如下代码添加到配置文件中:

poservercom.zhuozhengsoft.pageoffice.poserver.Server

poserver

/poserver.do

poserver

/pageoffice.cab

poserver

/popdf.cab

poserver

/sealsetup.exe

adminseal

com.zhuozhengsoft.pageoffice.poserver.AdminSeal

adminseal

/adminseal.do

adminseal

/loginseal.do

adminseal

/sealimage.do

mht

message/rfc822

adminseal-password

123456

第三步:在WEB项目的WebRoot目录下添加文件夹存放word模板文件,在此命名为“doc”,将要打开的Word文件拷贝到该文件夹下,我要打开的Word文件为“test.doc”。

第四步:在WEB项目的WebRoot目录下添加动态页面word.jsp。在该页面后台中添加自定义标签库:“”,并引入PageOffice类库:“”。之后在前台HTML页面中添加PageOfficeCtrl控件:“”,并设置控件所在层的大小。

第五步:在word.jsp的后台页面,利用PageOfficeCtrl控件在线打开Word文档,代码如下:

//********************卓正PageOffice组件的使用**********************

PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);

poCtrl1.setServerPage("poserver.do"); //此行必须

poCtrl1.setSaveFilePage("SaveFile.jsp");//如要保存文件,此行必须

poCtrl1.addCustomToolButton("保存", "Save()", 1);//添加自定义工具栏按钮

//打开文件,webOpen()方法中的三个参数分别为:要打开的文件路径、打开模式、打开的操作人,其中文件路径既可是相对路径也可是绝对路径

//绝对路径:String filePath = request.getSession().getServletContext().getRealPath("doc/test.doc");

String filePath = "doc/test.doc";//相对路径

poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit, "张三");

poCtrl1.setTagId("PageOfficeCtrl1"); //此行必须

再在Word.jsp的前台页面添加JS函数,执行保存操作,代码如下:

function Save() {

document.getElementById("PageOfficeCtrl1").WebSave();

}

如上所述,简单的就实现了Word文档的在线打开操作。接下来开始编写保存页面。

第六步:在WEB项目的WebRoot目录下添加动态页面SaveFile.jsp,在后台页面中编写代码处理要保存的Word文档,代码如下:

FileSaver fs = new FileSaver(request, response);

//保存Word文档到相应的磁盘路径中

fs.saveToFile(request.getSession().getServletContext().getRealPath("doc/") + "/" + fs.getFileName());

//fs.showPage(300,300);//可在前台弹出相应大小的窗口,并在上面显示想要显示的信息内容

fs.close();

至此,就简单的实现了Word文档的现在打开、编辑和保存了。

方案总结:

上述的示例主要是借助了PageOffice开发平台的PageOfficeCtrl控件,利用该控件还可实现Word文档内容的提交、添加手写批注、加盖电子印章、Word文档到PDF文档的转换等功能。另外,在PageOffice平台下还可实现Excel、PPT、PDF等文档的在线打开、编辑保存等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。

office 在线编辑 java_JAVA调用PageOffice在线打开、编辑Word文档相关推荐

  1. PageOffice如何显示/隐藏Word文档中的标尺

    2019独角兽企业重金招聘Python工程师标准>>> 在线打开并使用Word文档时,我们经常会需要使用打开的Word文档中,顶部的标尺来设置页面的边距.对齐位置等.这一操作,可以通 ...

  2. 都什么年代了,打开个Word文档还能中毒!Locky病毒疯狂传播

    本文讲的是 都什么年代了,打开个Word文档还能中毒!Locky病毒疯狂传播,如果你收到的邮件假扮成某公司的发票单,包含 Word 附件,在打开它之前应当三思而后行. 如果打开,可能会使你的系统瘫痪, ...

  3. 排查在win10下面打开某些word文档“提示内存或磁盘空间不足”的原因

    排查在win10下面打开某些word文档"提示内存或磁盘空间不足"的原因 编者:李国帅 qq:9611153 微信lgs9611153 时间:2020-03-11 背景原因 在wi ...

  4. word 导出编辑ftl_Java实现用Freemarker完美导出word文档(带图片)

    前言 最近在项目中,因客户要求,将页面内容(如合同协议)导出成word,在网上翻了好多,感觉太乱了,不过最后还是较好解决了这个问题. 准备材料 1.word原件 2.编辑器(推荐Firstobject ...

  5. VB打开指定Word文档

    1.在VB的"工程"->"引用"中引用"Microsoft Word 9.0 Object Library Private Sub Comman ...

  6. js在PageOffice打开的Word文档光标处插入书签

    在使用Word时,如果内容过多有时为了快速定位到内容的某一处或某一部分怎会在该处添加书签.Word中的书签可以通过工具栏手动添加或删除,也可以通过后台程序结合JS函数在当前光标处插入书签,或根据书签名 ...

  7. 【软件操作】Office将Word文档转换为PDF格式

    一.问题描述 PDF格式(Portable Document Format)相比于Word文档(.doc/.docx格式)体积更大,但具有更好的文档一致性(减少排版问题),修改更困难(不易被外界篡改) ...

  8. PageOffice如何控制在系统中打开Word文档只读

    PageOffice如何控制在系统中打开Word文档只读 在文档系统有些环节需要限制用户编辑word文件,只许查看,那么如何实现用程序控制文件打开的时候,用只读模式打开呢?若通过PageOffice开 ...

  9. 通达OA-公共文件柜在线阅读Word 文档失败:Word 无法创建工作文件,请检查临时环境变量

    问题如题,在通达的"公共文件柜"模块,在线阅读Word文档时,阅读失败,报错:Word 无法创建工作文件,请检查临时环境变量.问题如下面的截图: 解决过程: 1.最初的思路便是研究 ...

  10. Springboot 超简单实现在线预览,Word文档 doc、xlsx、pdf、txt等

    前言 PDF.TXT 只要资源可访问,根本就不需要进行任何处理,直接访问查看就完事了. 也是因为这个PDF可以直接查看(现在浏览器基本支持了),那么我们实现Word文档在线预览,其实也是 把WORD文 ...

最新文章

  1. 在Objective-C中创建一个抽象类
  2. python的优点和缺点-python的优点和缺点是什么?
  3. 用ASP.NET Web API技术开发HTTP接口(一)
  4. Cortex-M3基本知识点(手册)
  5. apache camel 相关配置_小白在 linux 系统部署apache、mysql、Laravel 环境学习笔记!
  6. 【转】图形学基础之透视校正插值
  7. P1262_美帝的间谍网络被我部捕获!
  8. 播放RTMP协议的流媒体的几种选择 1
  9. 一个牛人在美国的跳槽经历(有感)
  10. 斯蒂芬金被退稿_斯蒂芬·金(Stephen King)对技术作家的实用建议
  11. C++:求第k小的数
  12. 二叉树的先序,中序,后序,层次的递归及非递归遍历
  13. Codeforces Round #666 (Div. 2)D. Stoned Game(博弈问题)
  14. android oreo_Android Oreo画中画
  15. 有效的python属性管理:描述符的使用
  16. Mysql 日历数据表
  17. 知其然,知其所以然——ArrayList.add()详解
  18. Linux C语言学习day11:递归与结构体
  19. 英语各类词担任的句子成分
  20. sourceTree 添加 ssh key 方法

热门文章

  1. 深入解读Linux进程调度系列(1)——调度的初始化
  2. 1146 Topological Order(25 分)
  3. mysqld和mysql区别_mysqld与mysqld_safe的区别
  4. centos7恢复mysql数据库_centos7 mysql数据库的安装与使用
  5. 2021-09-30安装windows10+ubuntu双系统
  6. Java Byte数组与Long的相互转化
  7. 【紫书第九章】动态规划(DP)常见模型汇总与DP问题分析方法
  8. 山山的数学(简单版)
  9. 思科网院Packet Tracer实验(八)子网划分
  10. mysql 镜像安装方法_MySql镜像安装