一、在开发OA办公或与文档相关的Web系统中,难免会遇到动态生成word文档的需求,为了解决工作中遇到导出word文档的需求,前一段时间上网找了一些资料,在word导出这方面有很多工具可以使用,jacob、poi、java2word、itext。jacob要求服务器必须是windows操作系统,服务器上还必须安装office软件,果断放弃!poi需要针对doc和docx两种格式写不同的代码,增加了程序的复杂度。java2doc 是对 jacob 的封装,同样放弃!最后选定了用itext来导出word,网上一些资料说itext导出word功能太简单,通过试用之后,封装工具类,使用起来确实挺方便,但是导出的word文档在细节方面很难达到要求,比如:字体、行距、字体间距、首行缩进等。由于itext导出的word有各种各样的小问题,只能另找其他的解决方案,经过一个朋友推荐,可用PageOffice组件来导出word,其效果能与用户需求的word文档达到完美的一致,而且编程接口简单,调用很方便。
今天主要介绍用 pageoffice 组件在线创建一个新的文档。
二:核心代码
三、具体的实现过程
具体实现过程
1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xml
2.在父页面index.jsp(需要打开文档的页面)放一个a标签或者button
写a标签之前先引入pageoffice需要的js文件
<script type="text/javascript" src="/jquery.min.js"></script>
<script type="text/javascript" src="/pageoffice.js" id="po_js_main"></script>
然后添加a标签
<a href="javascript:POBrowser.openWindowModeless('CreatWord.jsp' , 'width=1200px;height=800px;');">创建word</a>
3.在父页面同级目录下创建一个名为CreatWord.jsp的文件
<%@ page language="java"
import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*"
pageEncoding="utf-8"%>
<%
//******************************卓正PageOffice组件的使用*******************************
//设置PageOffice服务器组件
PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request);
poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须
//设置保存页面
poCtrl1.setSaveFilePage("SaveFile.jsp");
poCtrl1.webCreateNew("张佚名",DocumentVersion.Word2007);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>创建文件</title>
</head>
<body>
<script type="text/javascript">
</script>
<div style=" width:900px; height:700px;">
<%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%>
</div>
</body>
</html>
4 .在CreatWord.jsp同级目录下创建一个名为SaveFile.jsp的文件
FileSaver fs=new FileSaver(request,response);
fs.saveToFile("d:\\aa.doc");
fs.close();
启动项目直接访问.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码 I7TGD-71VV-FYD8-4NMYP 就可以打开文档.然后编辑保存,在D盘下查看新建的文档
最终效果
http://www.pageoffice.cn:8080/Samples4/
访问上面的链接看看下面对应的示例
刚开始接触pageoffice的话,也可以看视频快速上手http://www.zhuozhengsoft.com/Technical/