1、在开发OA办公或与文档相关的Web系统中,不免会遇到这样的需求,须要在word文件中指定一个位置,而后在指定的位置赋值或者插入文件,这样就须要在线动态建立书签的功能。javascript
今天主要介绍用 pageoffice 组件实如今线动态建立书签。html
两种方法java
1:后台java代码建立书签(后台建立书签又必定的局限性:只能在文档的首、尾或者原有书签的先后)。jquery
2:用js方法添加书签,js 方法添加书签比较方便,能够在光标所在的位置添加。web
注意:pageoffice 组件里面的数据区域也就是书签,可是必须以 PO_ 开头,而且是惟一的。一个文档中不能出现多个数据区域(书签)。下面的介绍中都会用数据区域。less
2、核心代码jsp
3、具体的实现过程测试
具体实现过程ui
1.官网http://www.zhuozhengsoft.com/dowm/下载集成文件,引入jar包,配置web.xmlspa
写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('DataRegionCreate.jsp' , 'width=1200px;height=800px;');">动态建立数据区域</a>
<%@ page language="java" import="java.util.*,com.zhuozhengsoft.pageoffice.*,com.zhuozhengsoft.pageoffice.wordwriter.*" pageEncoding="utf-8"%> <% PageOfficeCtrl poCtrl1 = new PageOfficeCtrl(request); poCtrl1.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必须 //添加自定义按钮 poCtrl1.addCustomToolButton("插入书签","addBookMark",5); WordDocument doc=new WordDocument(); //建立数据区域,createDataRegion 方法中的三个参数分别表明“新建的数据区域名称”,“数据区域将要插入的位置”, //“与新建的数据区域相关联的数据区域名称”,若当前Word文档中尚无数据区域(书签)或者想在文档的最开头建立时,那么第三个参数为“[home]” //若想在文档的结尾处建立数据区域则第三个参数为“[end]” DataRegion dataRegion1 = doc.createDataRegion("reg1",DataRegionInsertType.After,"[home]"); //给数据区域赋值 dataRegion1.setValue("第一个数据区域\r\n"); DataRegion dataRegion2 = doc.createDataRegion("reg2",DataRegionInsertType.After,"reg1"); dataRegion2.setValue("第二个数据区域\r\n"); DataRegion dataRegion3 = doc.createDataRegion("reg3",DataRegionInsertType.After,"[end]"); dataRegion3.setValue("第三个数据区域\r\n"); poCtrl1.setWriter(doc); //打开Word文件 poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit,"张三"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>新建数据区域</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <script type="text/javascript"> function addBookMark() { document.getElementById("PageOfficeCtrl1").DataRegionList.Add( "PO_test", "测试" ); } </script> <div style="width: auto; height: 700px;"> <%=poCtrl1.getHtmlCode("PageOfficeCtrl1")%> </div> </body> </html>
启动项目直接访问.此时会提示安装插件,点击安装成功后提示注册,填写相关信息,填写注册码 I7TGD-71VV-FYD8-4NMYP 就能够打开文档.
4、实现的效果
具体的代码也能够参考Samples 示例中的