webOFFICE.jsp 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. <%@page import="com.yw.core.utils.StringUtil"%>
  2. <%@page import="com.yw.core.utils.Constant"%>
  3. <%@ page language="java" contentType="text/html; charset=GBK"
  4. pageEncoding="GBK"%>
  5. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  6. <%
  7. boolean isNewFile;
  8. String filetype = "";
  9. String fileId = null;
  10. String srcFile = "";
  11. String fileName = "";
  12. String realName = "";
  13. String fileUrl = "";
  14. String progId = "";
  15. String task = "";
  16. fileId = request.getAttribute("fileId") == null ? null : String
  17. .valueOf(request.getAttribute("fileId"));
  18. srcFile = request.getAttribute("srcFile") == null ? "" : String
  19. .valueOf(request.getAttribute("srcFile"));
  20. task = request.getAttribute("task") == null ? null : String
  21. .valueOf(request.getAttribute("task"));
  22. if (fileId == null || "".equals(fileId)) {
  23. isNewFile = true;
  24. } else {
  25. isNewFile = false;
  26. }
  27. if (isNewFile) {
  28. filetype = request.getAttribute("fileType") == null
  29. ? ""
  30. : String.valueOf(request.getAttribute("fileType"))
  31. .trim();//如果filetype参数为空,默认为word文档.
  32. if (filetype.equalsIgnoreCase("Excel.Sheet")) {
  33. progId = "Excel.Sheet";
  34. } else if (filetype.equalsIgnoreCase("Excel.Chart")) {
  35. progId = "Excel.Chart";
  36. } else if (filetype.equalsIgnoreCase("PowerPoint.Show")) {
  37. progId = "PowerPoint.Show";
  38. } else if (filetype.equalsIgnoreCase("Word.Document")) {
  39. progId = "Word.Document";
  40. } else if (filetype.equalsIgnoreCase("Visio.Drawing")) {
  41. progId = "Visio.Drawing";
  42. } else if (filetype.equalsIgnoreCase("MSProject.Project")) {
  43. progId = "MSProject.Project";
  44. } else if (filetype.equalsIgnoreCase("WPSFile.4.8001")) {
  45. progId = "WPSFile.4.8001";
  46. } else if (filetype.equalsIgnoreCase("WPS.Document")) {
  47. progId = "WPS.Document";
  48. } else if (filetype.equalsIgnoreCase("ET.Sheet.1.80.01.2001")) {
  49. progId = "ET.Sheet.1.80.01.2001";
  50. } else if (filetype.equalsIgnoreCase("ET.WorkBook")) {
  51. progId = "ET.WorkBook";
  52. } else {
  53. progId = "Word.Document";
  54. }
  55. fileId = String.valueOf(StringUtil.getSeq());
  56. } else {
  57. fileUrl = String.valueOf(request.getAttribute("fileUrl"));
  58. srcFile = String.valueOf(request.getAttribute("srcFile"));
  59. realName = String.valueOf(request.getAttribute("realName"));
  60. }
  61. %>
  62. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  63. <html>
  64. <head>
  65. <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  66. <title>web文档测试</title>
  67. <script src="${pageContext.request.contextPath }/liger/lib/jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
  68. <script type="text/javascript" src="/shares/ntko/OfficeControl.js"></script>
  69. <!-- <script type="text/javascript" src="/shares/ntko/OfficeControlFunctions.js"></script> -->
  70. <script type="text/javascript">
  71. var username = "${session.userName}";
  72. function intializePage(fileUrl, isNewFile, progId, itask) {
  73. OFFICE_CONTROL_OBJ = document.getElementById("TANGER_OCX");
  74. initCustomMenus();
  75. task = itask;
  76. if (isNewFile == "true") {
  77. NTKO_OCX_CreateNewDoc(progId);
  78. } else {
  79. NTKO_OCX_OpenDoc(fileUrl);
  80. }
  81. SetReviewMode(true);
  82. setShowRevisions(true);
  83. }
  84. function SetReviewMode(boolvalue)
  85. {
  86. if(OFFICE_CONTROL_OBJ.doctype==1)
  87. {
  88. OFFICE_CONTROL_OBJ.ActiveDocument.TrackRevisions = boolvalue;//设置是否保留痕迹
  89. }
  90. }
  91. function setShowRevisions(boolevalue)
  92. {
  93. if(OFFICE_CONTROL_OBJ.doctype==1)
  94. {
  95. OFFICE_CONTROL_OBJ.ActiveDocument.ShowRevisions =boolevalue;//设置是否显示痕迹
  96. }
  97. }
  98. </script>
  99. <style>
  100. * {
  101. margin: 0px;
  102. padding: 0px;
  103. }
  104. </style>
  105. </head>
  106. <body onload='intializePage("<%=fileUrl%>", "<%=isNewFile%>", "<%=progId%>", "<%=task%>");'>
  107. <form action="${pageContext.request.contextPath }/contractCloudeditor.do?task=save" enctype="multipart/form-data">
  108. <input name="fileName" id="fileName" type="hidden" value="<%=fileName%>" />
  109. <input name="fileId" id="fileId" type="hidden" value="<%=fileId%>" />
  110. <input name="isNewFile" id="isNewFile" type="hidden" value="<%=isNewFile%>" />
  111. <div id="officecontrol"
  112. style="height:820px;">
  113. <script type="text/javascript" src="/shares/ntko/ntkoofficecontrol.js"></script>
  114. <div id=statusBar style="height:20px;width:100%;background-color:#c0c0c0;font-size:12px;display:none"></div>
  115. <script language="JScript" for="TANGER_OCX" event="OnDocumentClosed()">
  116. setFileOpenedOrClosed(false);
  117. </script>
  118. <script language="JScript" for="TANGER_OCX"
  119. event="OnDocumentOpened(TANGER_OCX_str,TANGER_OCX_obj)">
  120. OFFICE_CONTROL_OBJ.activeDocument.saved=true;//saved属性用来判断文档是否被修改过,文档打开的时候设置成ture,当文档被修改,自动被设置为false,该属性由office提供.
  121. //获取文档控件中打开的文档的文档类型
  122. switch (OFFICE_CONTROL_OBJ.doctype) {
  123. case 1:
  124. fileType = "Word.Document";
  125. fileTypeSimple = "word";
  126. break;
  127. case 2:
  128. fileType = "Excel.Sheet";
  129. fileTypeSimple="excel";
  130. break;
  131. case 3:
  132. fileType = "PowerPoint.Show";
  133. fileTypeSimple = "ppt";
  134. break;
  135. case 4:
  136. fileType = "Visio.Drawing";
  137. break;
  138. case 5:
  139. fileType = "MSProject.Project";
  140. break;
  141. case 6:
  142. fileType = "WPS Doc";
  143. fileTypeSimple="wps";
  144. break;
  145. case 7:
  146. fileType = "Kingsoft Sheet";
  147. fileTypeSimple="et";
  148. break;
  149. default :
  150. fileType = "unkownfiletype";
  151. fileTypeSimple="unkownfiletype";
  152. }
  153. setFileOpenedOrClosed(true);
  154. </script>
  155. <script language="JScript" for="TANGER_OCX"
  156. event="BeforeOriginalMenuCommand(TANGER_OCX_str,TANGER_OCX_obj)">
  157. alert("BeforeOriginalMenuCommand事件被触发");
  158. </script>
  159. <script language="JScript" for="TANGER_OCX"
  160. event="OnFileCommand(TANGER_OCX_str,TANGER_OCX_obj)">
  161. if (TANGER_OCX_str == 3) {
  162. CancelLastCommand = true;
  163. saveFileToUrl();
  164. }
  165. </script>
  166. <script language="JScript" for="TANGER_OCX"
  167. event="AfterPublishAsPDFToURL(result,code)">
  168. result=trim(result);
  169. alert(result);
  170. document.getElementById("statusBar").innerHTML="服务器返回信息:"+result;
  171. if(result=="文档保存成功。") {
  172. window.close();
  173. }
  174. </script>
  175. <script language="JScript" for="TANGER_OCX"
  176. event="OnCustomMenuCmd2(menuPos,submenuPos,subsubmenuPos,menuCaption,menuID)">
  177. alert("第" + menuPos +","+ submenuPos +","+ subsubmenuPos +"个菜单项,menuID="+menuID+",菜单标题为\""+menuCaption+"\"的命令被执行.");
  178. </script>
  179. <script language="JScript" for="TANGER_OCX" event="AfterOpenFromURL(doc)">
  180. TrackRevisions(true);
  181. </script>
  182. </div>
  183. </form>
  184. </body>
  185. </html>