普通的MS Office Word只能在本地磁盘上打开和编辑保存,这使得程序员在开发项目时受到很多的约束,许多的功能无法实现或者无法达到理想的效果。
下面我就简单的和大家分享一下如何实现Word文档的在线打开、编辑和保存。
第一步:请先安装PageOffice的服务器端的安装程序,之后在WEB项目下的“WebRoot/WEB-INF/lib”路径中添加和(在网站的“下载中心”中可下载相应的压缩包,解压之后,双击运行Pageoffice服务器端安装程序,之后将和文件拷贝到该目录下就可以了)文件。
第二步:修改WEB项目的配置文件,将如下代码添加到配置文件中:
<!-- PageOffice Begin -->
<servlet>
<servlet-name>poserver</servlet-name><servlet-class>
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>poserver</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>adminseal</servlet-name>
<servlet-class>
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>adminseal</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<mime-mapping>
<extension>mht</extension>
<mime-type>message/rfc822</mime-type>
</mime-mapping>
<context-param>
<param-name>adminseal-password</param-name>
<param-value>123456</param-value>
</context-param>
<!-- PageOffice End -->
第三步:在WEB项目的WebRoot目录下添加文件夹存放word模板文件,在此命名为“doc”,将要打开的Word文件拷贝到该文件夹下,我要打开的Word文件为“”。
第四步:在WEB项目的WebRoot目录下添加动态页面。在该页面后台中添加自定义标签库:“<%@ taglib uri="" prefix="po"%>”,并引入PageOffice类库:“<%@page import=”.*”%>”。之后在前台HTML页面中添加PageOfficeCtrl控件:“<po:PageOfficeCtrl ></po:PageOfficeCtrl>”,并设置控件所在层的大小。
第五步:在的后台页面,利用PageOfficeCtrl控件在线打开Word文档,代码如下:
//********************卓正PageOffice组件的使用**********************
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
(""); //此行必须
("");//如要保存文件,此行必须
("保存", "Save()", 1);//添加自定义工具栏按钮
//打开文件,webOpen()方法中的三个参数分别为:要打开的文件路径、打开模式、打开的操作人,其中文件路径既可是相对路径也可是绝对路径
//绝对路径:String filePath = ().getServletContext().getRealPath("doc/");
String filePath = "doc/";//相对路径
(filePath, , "张三");
("PageOfficeCtrl1"); //此行必须
再在的前台页面添加JS函数,执行保存操作,代码如下:
function Save() {
("PageOfficeCtrl1").WebSave();
}
如上所述,简单的就实现了Word文档的在线打开操作。接下来开始编写保存页面。
第六步:在WEB项目的WebRoot目录下添加动态页面,在后台页面中编写代码处理要保存的Word文档,代码如下:
FileSaver fs = new FileSaver(request, response);
//保存Word文档到相应的磁盘路径中
(().getServletContext().getRealPath("doc/") + "/" + ());
//(300,300);//可在前台弹出相应大小的窗口,并在上面显示想要显示的信息内容
();
至此,就简单的实现了Word文档的现在打开、编辑和保存了。
方案总结:
上述的示例主要是借助了PageOffice开发平台的PageOfficeCtrl控件,利用该控件还可实现Word文档内容的提交、添加手写批注、加盖电子印章、Word文档到PDF文档的转换等功能。另外,在PageOffice平台下还可实现Excel、PPT、PDF等文档的在线打开、编辑保存等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。