打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JAVA调用PageOffice在线打开、编辑Word文档
userphoto

2015.01.25

关注

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

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

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

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

<!-- PageOffice Begin -->

<servlet>

<servlet-name>poserver</servlet-name><servlet-class>com.zhuozhengsoft.pageoffice.poserver.Server

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/poserver.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/pageoffice.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/popdf.cab</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>poserver</servlet-name>

<url-pattern>/sealsetup.exe</url-pattern>

</servlet-mapping>

<servlet>

<servlet-name>adminseal</servlet-name>

<servlet-class>com.zhuozhengsoft.pageoffice.poserver.AdminSeal

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/adminseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/loginseal.do</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>adminseal</servlet-name>

<url-pattern>/sealimage.do</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文件为“test.doc”。

第四步:在WEB项目的WebRoot目录下添加动态页面word.jsp。在该页面后台中添加自定义标签库:“<%@ taglib uri="http://java.pageoffice.cn" prefix="po"%>”,并引入PageOffice类库:“<%@page import=”com.zhuozhengsoft.pageoffice.*”%>”。之后在前台HTML页面中添加PageOfficeCtrl控件:“<po:PageOfficeCtrl id="PageOfficeCtrl1"></po: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平台下还可实现ExcelPPTPDF文档在线打开编辑保存等等各种操作,很好地解决了开发OA系统的程序员的一大技术难题。

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Word动态输出多表格方案(以工资条为例)
[原创]java在线比较两个word文件
springboot-pageoffice
怎样设置文档的自动保存路径
word直接关机没保存如何恢复
在word文档页面设置中,如何恢复原先的设置?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服