在开发Web办公系统或文档系统时,PageOffice组件是众所周知的在线处理微软word/ppt/excel文档的强大工具,它对WORD文档的各种处理在API层面进行了封装,屏蔽了Office VBA接口的复杂性,而又不失VBA的强大功能,在此要分享的正是PageOffice封装的一个很强大的功能:获取word文档的条目化内容。在一个包含了文档处理功能的办公系统里,用户出于各种原因,希望能通过程序自动分析word文档中每个章节的内容也是一种合理的需求,而PageOffice为实现此功能提供的接口也非常简单,废话少说,直接看代码:
PageOffice具体的集成过程在此略过。。。(详细看PageOffice for java 开发包中的安装说明)
1. 调用PageOffice在线打开一个包含了章节层次的word文档,比如:test.doc
PageOfficeCtrl poCtrl=new PageOfficeCtrl(request); poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //打开Word文档 poCtrl.webOpen("doc/test.doc",OpenModeType.docNormalEdit,"张佚名");
2. 在打开word文件的页面(比如:word.jsp)里显示文件的区域添加PageOffice的代码:
<%=poCtrl.getHtmlCode("PageOfficeCtrl1")%>
3. 文件在线打开之后,通过按钮或其他方式调用执行下面的js,变量txt就可以获取到文档条目化的内容:
var txt = document.getElementById("PageOfficeCtrl1").GetWordItemsConent();
4. 运行效果: