var OFFICE_CONTROL_OBJ;//控件对象 var IsFileOpened; //控件是否打开文档 var fileType; var fileTypeSimple; var canApplyTemplate = false;//是否可以套红 var canEditAttach = false;//是否可以编辑附件 function intializePage(fileUrl) { OFFICE_CONTROL_OBJ = document.all("TANGER_OCX") //---------以下是告知文档控件,增加对PDF文档类型的支持。 //AddDocTypePlugin方法参数说明:第一个参数扩展名,第二个参数ProID,第三个参数版本号,第四个参数是pdf插件相对当前网页的URL, //第5个参数是文档类型标识,第6个参数是是否自动下载插件dll,当设定为自动下载时,会比较当前客户机安装的版本,如果比第3个参数 //指定的版本底,或者客户机没有安装,会自动下载并注册插件dll。 OFFICE_CONTROL_OBJ.AddDocTypePlugin(".pdf", "PDF.NtkoDocument", "4.0.2.0", "officecontrol/ntkooledocall.cab", 51, true); OFFICE_CONTROL_OBJ.FileNew = false; OFFICE_CONTROL_OBJ.FileOpen = false; OFFICE_CONTROL_OBJ.FileClose = false; initCustomMenus(); NTKO_OCX_OpenDoc(fileUrl); canEditAttach = isSave; setFileSave(canEditAttach); if (window.parent) { window.parent.mainBodyObj = OFFICE_CONTROL_OBJ;//当editDoc初始化时,将文档对象给workflow.jsp } } function onPageClose() { if (!OFFICE_CONTROL_OBJ.activeDocument.saved) { if (confirm("文档修改过,还没有保存,是否需要保存?")) { saveFileToUrl(); } } } function NTKO_OCX_OpenDoc(fileUrl) { OFFICE_CONTROL_OBJ.BeginOpenFromURL(fileUrl); } function setFileOpenedOrClosed(bool) { IsFileOpened = bool; fileType = OFFICE_CONTROL_OBJ.DocType; } function trim(str) { //删除左右两端的空格 return str.replace(/(^\s*)|(\s*$)/g, ""); } function ntkosavetourl(type, code, html) { //alert("SaveToURL成功回调"); console.log("ntkosavetourl type:" + type); console.log("ntkosavetourl code:" + code); console.log("ntkosavetourl html:" + html); var retObj = JSON.parse(html); if (retObj.success != null && retObj.success == true && retObj.result != null && retObj.result.attachId) { if (window.parent.addAttachFun) { window.parent.addAttachFun(retObj.result); } attachId = retObj.result.attachId; } //判断是否有延时对象,有则回调 if (deferred) { if (retObj != null) { if (retObj.success) { deferred.resolve(retObj.result); } else { var msg = "保存失败"; if (retObj.errorInfo && retObj.errorInfo.message) { msg = retObj.errorInfo.message; } deferred.reject(msg); } } } } function saveFileToUrl() { var myUrl = document.forms[0].action; if (attachId != null) { myUrl += "&attachId=" + attachId; } console.log("saveUrl:" + myUrl); 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; default : fileType = "unkownfiletype"; } result = OFFICE_CONTROL_OBJ.saveToURL(myUrl,//提交到的url地址 "file",//文件域的id,类似 0) { inputValue = inputValue.replace(" ", ""); } var realValue = inputValue.toString(); console.log("inputValue.toString:", realValue); //do copy //DEBUG if (OFFICE_CONTROL_OBJ == null)//当为空时,是workflow调用的,使用objtest OFFICE_CONTROL_OBJ = objDoc; if (OFFICE_CONTROL_OBJ != null) { if (OFFICE_CONTROL_OBJ.ActiveDocument.Bookmarks.Exists(BookMarkName)) { OFFICE_CONTROL_OBJ.SetBookmarkValue(BookMarkName, realValue); /*var bkmkObj = OFFICE_CONTROL_OBJ.ActiveDocument.BookMarks(BookMarkName); if(bkmkObj) { var saverange = bkmkObj.Range; saverange.Text = inputValue; if(wfwin.workflowName == "SendAdminLetterProcess" && siteId == "HQ" && BookMarkName == "发文编号") { saverange.Font.Name = "仿宋_GB2312"; saverange.Font.NameFarEast = "仿宋_GB2312"; } OFFICE_CONTROL_OBJ.ActiveDocument.Bookmarks.Add(BookMarkName,saverange); }*/ } else { OFFICE_CONTROL_OBJ.ShowTipMessage("同步提示", "未找到书签:" + BookMarkName); //alert("未找到书签:" + BookMarkName); } } } catch (err) { /*alert("同步字段时发生错误(书签名称=" + BookMarkName + ",值=" + inputValue + "),错误原因:" + err);*/ console.log("同步字段时发生错误(书签名称=" + BookMarkName + ",值=" + inputValue + "),错误原因:" + err); } finally { } }