pageoffice

1.电子印章

<context-param>
      <param-name>adminseal-password</param-name>
      <param-value>111111</param-value>
</context-param>

这里修改成您的印章简易管理页的管理员登录密码,为了安全,强烈建议修改!!!

如果您用的是默认的Access数据库,下面节点不用修改,继续保持被注释状态或直接删除。 如果您用的是Oracle、MySQL等其他数据库,请将下面节点的注释去掉,并且修改成您的印章数据库连接参数。最好把WEB-INF\lib下的seal.mdb也删除掉。

<context-param>
      <param-name>posealdb-driver</param-name>
      <param-value>oracle.jdbc.driver.OracleDriver</param-value>
  </context-param>
  <context-param>
      <param-name>posealdb-url</param-name>
      <param-value>jdbc:oracle:thin:@192.168.0.1:1521:orcl</param-value>
  </context-param>
  <context-param>
      <param-name>posealdb-username</param-name>
      <param-value>system</param-value>
  </context-param>
  <context-param>
      <param-name>posealdb-password</param-name>
      <param-value>111111</param-value>
  </context-param>
2. 使用方法

环境变量定义

无封装方式使用pageoffice

<#script>
var OpenModeType = com.zhuozhengsoft.pageoffice.OpenModeType;
var poCtrl=new com.zhuozhengsoft.pageoffice.PageOfficeCtrl(action.request);
poCtrl.setServerPage(action.request.getContextPath()+"/poserver.jsp");
//添加自定义按钮
poCtrl.addCustomToolButton("保存","Save",1);
//设置保存页面
poCtrl.setSaveFilePage("SaveFile.jsp");
//打开Word文档
poCtrl.webOpen("http://192.168.0.200:8080/xxx.doc",OpenModeType.docNormalEdit,"张佚名");
poCtrl.setTagId("PageOfficeCtrl1");//此行必需
</#script>

输出

${action.request.getAttribute("PO_" + "PageOfficeCtrl1")}

com.zhuozhengsoft.pageoffice.OpenModeType 打开模式

  • docRevisionOnly
  • docAdmin
  • docNormalEdit
  • docReadOnly
  • docHandwritingOnly
  • docSubmitForm
  • xlsNormalEdit
  • xlsReadOnly
  • xlsSubmitForm
  • pptNormalEdit
  • pptReadOnly

无封装方式如上代码比较啰嗦一些,所以提供了拦截器 com.jspx.txweb.interceptor.PageOfficeInterceptor 加载拦截器后将会自动载入 PageOfficeCtrl 控件,调用名称pageOfficeCtrl

<#script>
pageOfficeCtrl.setJsFunction_OnWordDataRegionClick("OnWordDataRegionClick()");
//添加自定义按钮
pageOfficeCtrl.addCustomToolButton("保存","Save",1);
//设置保存页面
pageOfficeCtrl.setSaveFilePage("SaveFile.jsp");
//打开Word文档
pageOfficeCtrl.webOpen("template/leaves.doc",docNormalEdit,"张佚名");
pageOfficeCtrl.setTagId("PageOfficeCtrl1");//此行必需
</#script>

输出

${action.getTag("PO_" + "PageOfficeCtrl1")}

是不是很简单。 下边是 PageOffice 使用方法的一些手记。

3.常用js函数

js获取word选中的文字

function  getSelectionText(){        if (document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text != "") {            alert(document.getElementById("PageOfficeCtrl1").Document.Application.Selection.Range.Text);        }        else{            alert("您没有选择任何文本。");        }     }

打印

function poPrint() {    document.getElementById("PageOfficeCtrl1").ShowDialog(4);}

全屏

function poSetFullScreen() {    document.getElementById("PageOfficeCtrl1").FullScreen = !document.getElementById("PageOfficeCtrl1").FullScreen;}

保存

function poSave() {    document.getElementById("PageOfficeCtrl1").WebSave();}

常用属性设置

OfficeVendor 属性设置打开当前Office文档所用的办公软件,字符串类型。 document.getElementById("PageOfficeCtrl1").OfficeVendor = "MSOffice"|"WPSOffice"; //允许拷贝document.getElementById("PageOfficeCtrl1").AllowCopy = true|false; //false:不允许;true:允许 //设置Caption的值document.getElementById("PageOfficeCtrl1").Caption = Value;//设置Caption的值document.getElementById("PageOfficeCtrl1").Caption = Value;//保存返回结果,提示框提示是否保存成功strCustomSaveResult = document.getElementById("PageOfficeCtrl1").CustomSaveResult; //DocumentFileName 属性返回当前Office文档的文件名称,字符串类型,只读。strValue = document.getElementById("PageOfficeCtrl1").DocumentFileName; //FullScreen 属性设置控件窗口是否全屏显示,可读写。 document.getElementById("PageOfficeCtrl1").FullScreen = true|false; //IsDirty 属性判断控件中的文档是否已被修改,只读。boolValue = document.getElementById("PageOfficeCtrl1").IsDirty; 

标签区域点击事件

function OnWordDataRegionClick(Name, Value, Left, Bottom) {        if (Name == "PO_date") {            dv = window.showModalDialog(                            "datetimer.htm",                            "44",                            "center:1;help:no;status:no;dialogLeft:" + Left + ";dialogTop:" + Bottom + ";dialogHeight:246px;dialogWidth:216px;scroll:no")            if (dv) {                if (dv == "null")                    obj.value = '';                else                    return dv;            }        }        if (Name == "PO_dept") {            var mObject = new Object();            mObject.SelectValue = "";            window.showModalDialog(                            "selectDept.htm",                            mObject,                            "dialogLeft:"+ Left + "px; dialogTop:" + Bottom + "px; dialogHeight:120px; dialogWidth:200px;center:no;scroll:no;status:no;");            if (mObject.SelectValue != "") {                return (mObject.SelectValue);            }        }}

4.常用服务器端代码

    //隐藏菜单栏    poCtrl1.setMenubar(false);    //添加自定义按钮    poCtrl1.addCustomToolButton("在当前光标处用js插入超链接","addHyperLink",5);    //隐藏工具栏    poCtrl1.setCustomToolbar(false);    poCtrl1.webOpen("doc/test.doc", OpenModeType.docNormalEdit, "张三");    //此行必须    poCtrl1.setTagId("PageOfficeCtrl1"); 

获取标签值

    WordDocument doc = new WordDocument(request, response);    String sName = doc.openDataRegion("PO_name").getValue();    String sDept = doc.openDataRegion("PO_dept").getValue();    String sCause = doc.openDataRegion("PO_cause").getValue();    String sNum = doc.openDataRegion("PO_num").getValue();    String sDate = doc.openDataRegion("PO_date").getValue();

注意pageoffice包里边有两个 WordDocument 包,一个是用于写,一个是用于读,而且 doc.openDataRegion("POname").name 是 name 而不是POname

    //doc在每次使用完后要close    WordDocument doc = new WordDocument(request, response);    //得到html中的表单的时候使用如下方法    doc.getFormField("method");    //遍历提交的标签数据        for (Object region:doc.getDataRegions())        {               DataRegion  dataRegion = (DataRegion)region;               System.out.println("----dataRegion=" + dataRegion.getName());        }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值