var OFFICE_CONTROL_OBJ;//控件对象 var IsFileOpened; //控件是否打开文档 var fileType ; var fileTypeSimple; var task; function intializePage(fileUrl) { OFFICE_CONTROL_OBJ = document.all("TANGER_OCX"); initCustomMenus(); NTKO_OCX_OpenDoc(fileUrl); } function onPageClose() { if(!OFFICE_CONTROL_OBJ.activeDocument.saved) { if(confirm( "文档修改过,还没有保存,是否需要保存?")) { saveFileToUrl(); } } } function saveFileToUrl() { var myUrl = document.forms[0].action; var fileName = document.getElementById("fileName").value; var fileId = document.getElementById("fileId").value; var result; if (IsFileOpened) { switch (OFFICE_CONTROL_OBJ.doctype) { case 1: fileType = "Word.Document"; break; case 2: fileType = "Excel.Sheet"; break; case 3: fileType = "PowerPoint.Show"; break; case 4: fileType = "Visio.Drawing"; break; case 5: fileType = "MSProject.Project"; break; case 6: fileType = "WPS Doc"; break; case 7: fileType = "Kingsoft Sheet"; break; case 51: fileType = "PDF.NtkoDocument"; break; default: fileType = "unkownfiletype"; } result = OFFICE_CONTROL_OBJ.saveToURL(myUrl, "upLoadFile", "fileType=" + fileType, "", 0 ); // if(result == "文档保存成功。"){ // OFFICE_CONTROL_OBJ.StatusCode = 0; // }else if(OFFICE_CONTROL_OBJ.StatusCode == 0){ // OFFICE_CONTROL_OBJ.StatusCode = 101; //不支持的类型 // } if(result == "文档保存成功。"){ statusCode = 0; }else if(OFFICE_CONTROL_OBJ.StatusCode == 0){ statusCode = 101; } //result = trim(result); document.getElementById("statusBar").innerHTML = "服务器返回信息:" + result; // alert(fileId); /* if (window.parent.opener) window.parent.opener.document.getElementById(fileId).value = result; */ } } function setusername(username) { OFFICE_CONTROL_OBJ.WebUserName = username; } function trim(str) { //删除左右两端的空格 str = str.replace(/(^\s*)|(\s*$)/g, ""); return str; } function NTKO_OCX_CreateNewDoc(progId) { //alert(progId); OFFICE_CONTROL_OBJ.CreateNew(progId); } function NTKO_OCX_OpenDoc(fileUrl) { // console.log(fileUrl); OFFICE_CONTROL_OBJ.BeginOpenFromURL(fileUrl); } function setFileOpenedOrClosed(bool) { IsFileOpened = bool; fileType = OFFICE_CONTROL_OBJ.DocType; } function addServerSecSign()//不支持 { var signUrl=document.all("secSignFileUrl").options[document.all("secSignFileUrl").selectedIndex].value; if(IsFileOpened) { if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2) { try { alert("正式版本用户请插入EKEY!\r\n\r\n此为电子印章系统演示功能,请购买正式版本!"); OFFICE_CONTROL_OBJ.AddSecSignFromURL("ntko",signUrl); } catch(error){} } else {alert("不能在该类型文档中使用安全签名印章.");} } } function addLocalSecSign(username)//不支持 { if(IsFileOpened) { if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2) { try { OFFICE_CONTROL_OBJ.AddSecSignFromLocal(username,""); } catch(error){ } } else {alert("不能在该类型文档中使用安全签名印章.");} } } function addEkeySecSign(username) { if(IsFileOpened) { if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2) { try {OFFICE_CONTROL_OBJ.AddSecSignFromEkey(username);} catch(error){} } else {alert("不能在该类型文档中使用安全签名印章.");} } } function addHandSecSign(username) { if(IsFileOpened) { if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2) { try {OFFICE_CONTROL_OBJ.AddSecHandSign(username);} catch(error){} } else {alert("不能在该类型文档中使用安全签名印章.");} } } function addServerSign(signUrl)//不支持 { if(IsFileOpened) { try { OFFICE_CONTROL_OBJ.AddSignFromURL("ntko",//印章的用户名 signUrl,//印章所在服务器相对url 100,//左边距 100,//上边距 根据Relative的设定选择不同参照对象 "ntko",//调用DoCheckSign函数签名印章信息,用来验证印章的字符串 3, //Relative,取值1-4。设置左边距和上边距相对以下对象所在的位置 1:光标位置;2:页边距;3:页面距离 4:默认设置栏,段落 100,//缩放印章,默认100% 1); //0印章位于文字下方,1位于上方 } catch(error){} } } function addLocalSign()//不支持 { if(IsFileOpened) { try { OFFICE_CONTROL_OBJ.AddSignFromLocal("ntko",//印章的用户名 "",//缺省文件名 true,//是否提示选择 100,//左边距 100,//上边距 根据Relative的设定选择不同参照对象 "ntko",//调用DoCheckSign函数签名印章信息,用来验证印章的字符串 3, //Relative,取值1-4。设置左边距和上边距相对以下对象所在的位置 1:光标位置;2:页边距;3:页面距离 4:默认设置栏,段落 100,//缩放印章,默认100% 1); //0印章位于文字下方,1位于上方 } catch(error){} } } function addPicFromLocal() { if(IsFileOpened) { try { OFFICE_CONTROL_OBJ.AddPicFromLocal("",//印章的用户名 true,//缺省文件名 false,//是否提示选择 100,//左边距 100,//上边距 根据Relative的设定选择不同参照对象 1, //Relative,取值1-4。设置左边距和上边距相对以下对象所在的位置 1:光标位置;2:页边距;3:页面距离 4:默认设置栏,段落 100,//缩放印章,默认100% 1); //0印章位于文字下方,1位于上方 } catch(error){} } } function insertRedHeadFromUrl(headFileURL) { if(OFFICE_CONTROL_OBJ.doctype!=1)//OFFICE_CONTROL_OBJ.doctype=1为word文档 {return;} OFFICE_CONTROL_OBJ.ActiveDocument.Application.Selection.HomeKey(6,0);//光标移动到文档开头 OFFICE_CONTROL_OBJ.addtemplatefromurl(headFileURL);//在光标位置插入红头文档 } function openTemplateFileFromUrl(templateUrl) { OFFICE_CONTROL_OBJ.openFromUrl(templateUrl); } function doHandSign() { /*if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2)//此处设置只允许在word和excel中盖章.doctype=1是"word"文档,doctype=2是"excel"文档 {*/ OFFICE_CONTROL_OBJ.DoHandSign2( "ntko",//手写签名用户名称 "ntko",//signkey,DoCheckSign(检查印章函数)需要的验证密钥。 0,//left 0,//top 1,//relative,设定签名位置的参照对象.0:表示按照屏幕位置插入,此时,Left,Top属性不起作用。1:光标位置;2:页边距;3:页面距离 4:默认设置栏,段落(为兼容以前版本默认方式) 100); //} } function SetReviewMode(boolvalue) { if(OFFICE_CONTROL_OBJ.doctype==1) { OFFICE_CONTROL_OBJ.ActiveDocument.TrackRevisions = boolvalue;//设置是否保留痕迹 } } function setShowRevisions(boolevalue) { if(OFFICE_CONTROL_OBJ.doctype==1) { OFFICE_CONTROL_OBJ.ActiveDocument.ShowRevisions =boolevalue;//设置是否显示痕迹 } } function setFilePrint(boolvalue) { OFFICE_CONTROL_OBJ.fileprint=boolvalue;//是否允许打印 } function setFileNew(boolvalue) { OFFICE_CONTROL_OBJ.FileNew=boolvalue;//是否允许新建 } function setFileSaveAs(boolvalue) { OFFICE_CONTROL_OBJ.FileSaveAs=boolvalue;//是否允许另存为 } function setIsNoCopy(boolvalue) { OFFICE_CONTROL_OBJ.IsNoCopy=boolvalue;//是否禁止粘贴 } //验证文档控件自带印章功能盖的章 function DoCheckSign() { if(IsFileOpened) { var ret = OFFICE_CONTROL_OBJ.DoCheckSign ( false,/*可选参数 IsSilent 缺省为FAlSE,表示弹出验证对话框,否则,只是返回验证结果到返回值*/ "ntko"//使用盖章时的signkey,这里为"ntko" );//返回值,验证结果字符串 //alert(ret); } } function addSecKeyBoardComment(username) { if(IsFileOpened) { if(OFFICE_CONTROL_OBJ.doctype==1||OFFICE_CONTROL_OBJ.doctype==2) { try {OFFICE_CONTROL_OBJ.AddSecKeyBoardComment(username);} catch(error){} } else {alert("不能在该类型文档中使用键盘批注.");} } } //设置工具栏 function setToolBar() { OFFICE_CONTROL_OBJ.ToolBars=!OFFICE_CONTROL_OBJ.ToolBars; } //控制是否显示所有菜单 function setMenubar() { OFFICE_CONTROL_OBJ.Menubar=!OFFICE_CONTROL_OBJ.Menubar; } //控制”插入“菜单栏 function setInsertMemu() { OFFICE_CONTROL_OBJ.IsShowInsertMenu=!OFFICE_CONTROL_OBJ.IsShowInsertMenu; } //控制”编辑“菜单栏 function setEditMenu() { OFFICE_CONTROL_OBJ.IsShowEditMenu=!OFFICE_CONTROL_OBJ.IsShowEditMenu; } //控制”工具“菜单栏 function setToolMenu() { OFFICE_CONTROL_OBJ.IsShowToolMenu=!OFFICE_CONTROL_OBJ.IsShowToolMenu; } //自定义菜单功能函数 function initCustomMenus() { var myobj = OFFICE_CONTROL_OBJ; for(var menuPos=0;menuPos<3;menuPos++) { myobj.AddCustomMenu2(menuPos,"菜单"+menuPos+"(&"+menuPos+")"); for(var submenuPos=0;submenuPos<10;submenuPos++) { if(1 ==(submenuPos % 3)) //主菜单增加分隔符。第3个参数是-1是在主菜单增加 { myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,false,"-",true); } else if(0 == (submenuPos % 2)) //主菜单增加子菜单,第3个参数是-1是在主菜单增加 { myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,true,"子菜单"+menuPos+"-"+submenuPos,false); //增加子菜单项目 for(var subsubmenuPos=0;subsubmenuPos<9;subsubmenuPos++) { if(0 == (subsubmenuPos % 2))//增加子菜单项目 { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false, "子菜单项目"+menuPos+"-"+submenuPos+"-"+subsubmenuPos,false,menuPos*100+submenuPos*20+subsubmenuPos); } else //增加子菜单分隔 { myobj.AddCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false, "-"+subsubmenuPos,true); } //测试禁用和启用 if(2 == (subsubmenuPos % 4)) { myobj.EnableCustomMenuItem2(menuPos,submenuPos,subsubmenuPos,false); } } } else //主菜单增加项目,第3个参数是-1是在主菜单增加 { myobj.AddCustomMenuItem2(menuPos,submenuPos,-1,false,"菜单项目"+menuPos+"-"+submenuPos,false,menuPos*100+submenuPos); } //测试禁用和启用 if(1 == (submenuPos % 4)) { myobj.EnableCustomMenuItem2(menuPos,submenuPos,-1,false); } } } } //自定义菜单功能函数 function initCustomMenus_gov() { var myobj = OFFICE_CONTROL_OBJ; myobj.AddCustomMenu2(0,"痕迹 "); myobj.AddCustomMenu2(1,"套红模板 "); myobj.AddCustomMenu2(2,"签批图章 "); // myobj.AddCustomMenu2(3,"盖章 "); myobj.AddCustomMenuItem2(0,0,-1,false,"显示痕迹",false); myobj.AddCustomMenuItem2(0,1,-1,false,"-",true); myobj.AddCustomMenuItem2(0,2,-1,false,"不显示痕迹",false); myobj.AddCustomMenuItem2(1,0,-1,true,"红头模板",false); myobj.AddCustomMenuItem2(1,1,-1,false,"-",true); myobj.AddCustomMenuItem2(1,2,-1,true,"普通模板",false); //myobj.AddCustomMenuItem2(2,0,-1,false,"手写签名",false); //myobj.AddCustomMenuItem2(2,1,-1,false,"-",true); myobj.AddCustomMenuItem2(2,2,-1,false,"Ekey签章",false); //myobj.AddCustomMenuItem2(2,3,-1,false,"-",true); //myobj.AddCustomMenuItem2(2,4,-1,false,"键盘批注",false); // myobj.AddCustomMenuItem2(3,0,-1,false,"生成PDF文件并盖章",false); var actionUrl = "templateAction.do?task=selectTemplateList"; $.ajax({ url : actionUrl, async : true, type : "post", data : { temp_state : "1", lost_flag : "0" }, success : function(data) { var jsonobj = eval('(' + data + ')'); var tempResult = jsonobj.Rows; var temp_type1 = 0; var temp_type0 = 0; for (var i = 0; i < tempResult.length; i++) { var temp_name = tempResult[i].temp_name; var temp_type = tempResult[i].temp_type; var gpath = tempResult[i].gpath; var universalid = tempResult[i].universalid; var mymenuID = 0; if(temp_type == "1"){ mymenuID = parseInt(1*100+0*20+temp_type1); OFFICE_CONTROL_OBJ.AddCustomMenuItem2(1,0,temp_type1,false,temp_name,false,mymenuID); temp_type1++; }else if(temp_type == "0"){ mymenuID = parseInt(1*100+2*20+temp_type0); OFFICE_CONTROL_OBJ.AddCustomMenuItem2(1,2,temp_type0,false,temp_name,false,mymenuID); temp_type0++; } //alert(menuID); var temp = new Object(); temp.universalid = universalid; temp.mymenuID = mymenuID; temp.gpath = gpath; tempArray.push(temp); } }, error : function() { } }); }