分享一个在线Word编辑的jQuery插件 | 您所在的位置:网站首页 › 在线word文档编辑插件 › 分享一个在线Word编辑的jQuery插件 |
在做OA或者工作流程的网站中,常常能够看到一些在线Word编辑进行文档处理的功能,这里我开发了一个在线Word编辑插件并且以此为例。
1.NTKO Word在线编辑器介绍: NTKO的官方网站:http://www.ntko.com/ NTKO OFFICE文档控件是拥有完全自主知识产权的ActiveX控件。使用NTKO Office文档控件,能够在浏览器中直接编辑Word,Excel等Office文档,或者WPS,金山电子表等文档并保存到web服务器。实现文档和电子表格的统一管理。NTKO OFFICE文档控件具有在线编辑,痕迹保留,手写签名,模板套红,安全电子印章[企业版提供],全屏批注,保存为HTML,MHT,PDF文件等办公自动化系统必备的功能。可以运行在PHP,ASP,JSP,C#,VB.NET,DOMINO等各种web编程语言和服务器。
2.列出完整的jQuery插件的代码清单: ![]() ![]() $.fn.extend( { //文件类型 fileType: { Word: "Word.Document", Excel: "Excel.Sheet", PowerPoint: "PowerPoint.Show" }, //弹出窗类型 showDialogType: { New: 0, Open: 1, Save: 2, SaveCopy: 3, Print: 4, PageSetup: 5, Properties: 6 }, //Word信息内容 wordInfo: { Start: 0, End: 0, Text: "NDOFramer" }, //表单设置 formSettings: { UploadFileId: "EDITFILE", Data: "savetype=1&fileType=", FileName: "demo.doc", FormId: 0 }, _doc: null, _selection: null, _range: null, //初始化插件 ntko: function(parameters) { parameters = parameters || {}; var ndObj = null; this.each(function(i) { ndObj = $.ntko.init(this, parameters); }); return ndObj; }, //关闭插件 close: function() { this[0].close(); }, //打开文档 open: function(url) { this[0].BeginOpenFromURL(url); //第二个参数为只读设置 }, //新建Word文档 newWord: function() { this[0].CreateNew(this.fileType.Word); }, //新建Excel文档 newExcel: function() { this[0].CreateNew(this.fileType.Excel); }, //新建PowerPoint文档 newPowerPoint: function() { this[0].CreateNew(this.fileType.PowerPoint); }, //打开本地文档 openLocalFile: function() { this[0].showdialog(this.showDialogType.Open); }, //保存到本地 saveLocalFile: function() { this[0].ActiveDocument.Application.Dialogs(83).Show() }, //保存文档,返回是否保存成功 save: function(url, parameters) {if (typeof (parameters.formId) !== "undefined") this.formSettings.FormId = parameters.formId; if (typeof (parameters.data) !== "undefined") this.formSettings.Data = parameters.data; var retHTML = this[0].saveToURL(url, //提交到的url地址 this.formSettings.UploadFileId, //文件域的id,类似 0) { HttpPostedFile file = files[0]; string fileName = Server.MapPath(String.Format("~/output/{0}_{1}.doc", data, Guid.NewGuid())); file.SaveAs(fileName); Response.Write(String.Format( "保存附件“{0}”成功!\r\n返回测试数据:{1}", fileName, data)); } } catch { Response.Write("有异常"); } }其中,一定要记得写Response.ContentEncoding = Encoding.GetEncoding("GB2312");这段代码,如果没有写,返回的中文会出现乱码的情况。我们通过HttpFileCollection files = Request.Files;方式可以取得一个POST文件流。 在第一次使用该插件的时候,首先必须进行安装,您可以通过下载一个Word编辑器插件安装包.rar包,来安装插件,包里面包含相关的批处理操作,大家自己可以试试。 下面演示下DEMO(保存操作大家可以下代码下来看看吧) Word编辑器插件显示区域 jqObj = $("#WordEditor").ntko( { folder: "Scripts/", id: "WordEditorControl",//命名ActiveX对象ID isToolbar: false,//是否显示工具栏 isMenubar: false,//是否显示菜单栏 width: "710px", height: "600px" }); (注:这里 WordEditor 为插件容器的ID) jqObj.newWord(); jqObj.openLocalFile(); jqObj.open("template/demo.doc"); (注:url可以用 .aspx, .ashx 来替代,采用文件流读取的方式) jqObj.saveLocalFile(); var result = jqObj.save("process.aspx?action=test&data=demo", { formId: "formeditor" }); (注:其中formId为form的ID) jqObj.showToolbar(); jqObj.hideToolbar(); jqObj.showView(1); jqObj.showView(3); jqObj.height("800"); jqObj.height(); jqObj.width("1000"); jqObj.width(); jqObj.insertText("O(∩_∩)O哈哈哈~"); jqObj.insertLocalImage(); jqObj.insertLocalFile(); jqObj.clear(); 源代码下载:OnlineWordEditorDemo.rar |
CopyRight 2018-2019 实验室设备网 版权所有 |