分享一个在线Word编辑的jQuery插件 您所在的位置:网站首页 在线word文档编辑插件 分享一个在线Word编辑的jQuery插件

分享一个在线Word编辑的jQuery插件

2024-05-31 04:11| 来源: 网络整理| 查看: 265

在做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插件的代码清单:

jquery.ntko.js /*  @author: Leepy  *  @date:  2010-12  *  @descript:  ntko word编辑器JQ插件  */  (     function($) {         $.ntko = $.ntko || {};

        $.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 实验室设备网 版权所有