在线office文档编辑ntko使用心得

edisoner edisoner     2022-08-21     580

关键词:

目录

  • 前言
  • 什么是ntko
  • 准备工作
  • 实战演练
  • 总结

一、前言

  Web开发中经常需要用到在线处理office文档的功能,现在市面上有一些常用的Web页面调用显示Office的控件技术,用起来很方便。有一些第三方ActiveX浏览器控件:比如科瀚的SOAOffice中间件、卓正软件的pageoffice控件、WebOffice控件还有我这篇文章所要说到的NTKO。

二、什么是NTKO

  通俗易懂来讲就是能够直接在浏览器上查看编辑word文档,并保存到web服务器上的控件。

  借用官方的话,是能够在IE,火狐,谷歌等内核浏览器中直接编辑WPS,MS Office ,金山电子表等文档并保存到web服务器上,实现文档和电子表格的统一管理。并具备痕迹保留、模板套红、二维码、pdf及tif阅读等办公自动化系统的必备功能。大家可以具体查看官网释义。

优点:

  1.   能够支持跨浏览器编辑文档。
  2.   支持多种开发语言(asp、asp.net、jsp、php、vb.net、c#等)。
  3.   支持多线程上传下载等

缺点:

  1.   打开文档速度有点慢,可能和电脑性能有关系。
  2.   目前功能还不完善,暂时没有SOAOffice提供的功能多。

三、准备工作

  测试环境:浏览器:IE7及以上;操作系统:Windows操作系统;本地Office:Office 2003-2013;(听说ntko还不支持office 2016)注意Office必须是完整版的

    官方提供的js,css,cab:  1.ntko.js  2.ntkoofficecontrol.js   3.ComFun_OA8.js  4.OfficeControl.cab  5.Css_One.css  (这些官网都能下载到) 

  .cab文件百度百科的意思是:windows的压缩格式,用winrar可以打开,但有些是经过加密的,用一般的压缩程序都是打不开的。这里的OfficeControl是必不可少的,他是Web页面调用本地服务器的接口。

  由于NTKO是ActiveX控件,通过浏览器操作本地控件时,需要通过操作的用户权限必须是管理员用户,这样才能正常加载。因此通过将应用系统站点加入到IE浏览器可信任站点中可以解决这个问题。设置完成之后重启浏览器

  如果出现不能装载文档控件,请在检查浏览器的选项中检查浏览器的安全设置。官网的解决办法如下:

 

此问题和控件本身无关,为了解决NTKO不能自动装载的问题,我们先来看看浏览器对象所涉及到的步骤。

  首先是HTML中引用的代码:

<object id="TANGER_OCX" classid="clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404" codebase="/path/to/OfficeControl.cab#version=4,0,0,5" width="100%" height="100%">

  1.id="TANGER_OCX"   是标识控件js的编程标识,通过documnet.all("TANGER_OCX")得到控件的引用。

  2.clsid:C9BC4DFF-4248-4a3c-8A49-63A7D317F404  标识ntko文档的唯一标识,浏览器通过clsid来判定访问网页的客户机有没有安装ntko。

  3.codebase  这个不用说了,看一下大概知道这是放置文件路径的意思,version代表控件版本号。

  出现装载文档控件,请在检查浏览器的选项中检查浏览器的安全设置问题大概有下面几个原因

    1)本地Internet选项中的安全设定,在当前区域禁止下载已签名的ActiveX控件;
    2)引用控件的网页中,<object 标记中的codebase属性指定不正确,导致浏览器无法下载OfficeControl.cab文件;
    3)服务器上的OfficeControl.cab被破坏,失去正确的签名,或者使用了不正确的版本;
    4)虽然服务器上的OfficeControl.cab正确,但是浏览器下载的有问题。这个可能会因为某些WEB服务器的mime的错误配置引起,导致服务器将OfficeControl.cab不以二进制文件的形式发送给浏览器;
    5)本地Internet选项中的安全设定,在当前区域不允许运行ActiveX控件和插件;
    6)还有可能是由于微软的补丁引起,或者其他防病毒软件或者过滤软件阻止了控件安装

  如果还有其他问题,可以登录官网问题处理解决。

四、实战演练

  下面就利用我最近在做的一个项目实例讲一下ntko的原理,功能需求就贴图显示把。

首先是在页面中新增数据,提交操作后往对应数据库数据表中插入数据。

图1

其次在提交操作提示成功后,在申报材料下填报,点击填报后,跳转申报表页面,调用ntko控件,如图3。

图2

申报表页面如下图,因为是调用的本地Office,所以页面上保留Office中所带有的功能,包括常见的字体设置,插入,设计等等。

图3

  至于在线编辑word中的内容是数据库中对应字段通过书签形式绑定到word模板中,如图4。在线编辑首先需要创建一个空word模板,当然word中样式自己排版,然后将需要绑定字段的地方插入书签,书签是对应数据表中的字段绑定。

图4

  最后在html页面 首次加载页面js中引用一下方法,有些不懂的释义可以查阅官网Api了解。

 function window_onload() {
       
        var DocPrintUrl = '<%=ViewState["DocPrintUrl"].ToString() %>';//获取doc模板地址
        //var DocPrintUrl = 'PX_OpenFile_List.aspx';
        OpenEditOffice(DocPrintUrl, "1");//调用ntko.js中编辑文档方法

        SetReviewMode(true);//修订模式
        setShowRevisions(false);//显示痕迹

        TANGER_OCX_OBJ.Menubar = true;//是否显示菜单栏 
        TANGER_OCX_OBJ.TitleBar = true;//是否显示标题栏
     SetBookmarkValue("ZX_QYMC", '<%=ViewState["UnitName"].ToString()%>');//往word书签中增加内容
}

五、总结

  NTKO以及其他第三方ActiveX控件带给我们很大的便利性,它能够自动识别修改过得文档,提示保存服务器中,免去了之前下载----修改----上传的复杂过程,实现了在线编辑,在线预览,电子印章,附件管理,大文件上传等等功能。但也有不少缺点,在Html,Css以及桌面逐渐转换,控件也有可能早晚会被淘汰。

 

 

在线word文档编辑都有哪些

...档腾讯文档是一款支持随时随地创建、编辑的多人协作式在线文档工具,拥有一键翻译、实时股票函数和浏览权限安全可控等功能,以及打通QQ、微信等多个平台编辑和分享的能力。3、企业网盘企业网盘是一个企事业单位私有的... 查看详情

office365实现多人在线编辑同一个文档(上)

...OneDrive,因为文档存放在OneDrive中,我们在可以实现多人在线编辑同一个文档文件,那么我的环境中准备了2台Win7的系统,准备好了2个Office365的账户A和B,2台分别登录各自账户下载安装最新的Office365应用软件(也就是我们的Office... 查看详情

office365实现多人在线编辑同一个文档(中)

我编辑下这个Excel录入一些数据,如下我点击文件保存,可以选择直接保存到OneDrive也可以选择保存到本地计算机上,这里我选择保存到OneDrive里输入文件名称点击保存如果要保存到本地计算机位置,请点击“这台电脑”保存好以... 查看详情

国产uos操作系统调用pageoffice在线编辑保存office文档(代码片段)

...。在Windows系统环境下,PageOffice产品积累了十多年的Office在线编辑研发经验和应用经验,现在针对UOS在线办公发布了支持国产操作系统的中间件产品PageOffice国产版,能很好的支持龙芯,兆芯,飞腾,鲲鹏,X86,ARM等不同CPU芯片架... 查看详情

java中怎么实现浏览器在线编辑office文档

可以用第三方服务接口实现,但安全性要好,文档不能泄露出去poi里有个ExcelToHtmlConverter和WordToHtmlConverter这是在网上找的一段代码我没试HWPFDocumentCorewordDocument=WordToHtmlUtils.loadDoc(newFileInputStream("D:\\temp\\seo\\1.d... 查看详情

office365实现多人在线编辑同一个文档(下)

接下来我要实现多人编辑同一个Excel文件,这里以Source.xlsx为例,右键选择共享设置共享权限以及共享给谁权限有如下,如果是发送给别人看,就选择任何人(可向收到此链接的任何人授予访问权限,无论他们是直接收到你的链... 查看详情

电脑怎么在线编辑excel

...用账号登录,登录进去后,点击新建,如图我们可以新建在线文档,在线表格,选择在线表格。步骤三:可以使用excel模板创建,也可以创建空白文档。步骤四:使用模板创建了一个在线文档,使用方式和excel一样,上方有各种... 查看详情

项目测试心得-快易文档编辑系统

测试内容:  快易文档编辑系统中构件库的使用测试结果总结:  预览功能无法使用,收藏功能没有效果。取消收藏与构件按类型检索或按信息搜索功能正常。  修复后以上功能均可正常使用测试心得  原本的本地项目... 查看详情

在java中怎么实现在线编辑word

参考技术A需求是在Java中处理Word文档还是要在网页中在线编辑文档?如果是用Java处理Word文档,我记得有个库是ApachePOI,功能还是蛮强大的。如果要网页端在线编辑Word文档,推荐使用桐享EaaS,有SDK的。客户端无需安装Word,也无... 查看详情

如何才能实现多人在线编辑excel?

如何才能实现多人在线编辑EXCEL?敬业签就可以帮忙,因为:1、你可以在敬业签中免费创建一个团队便签,并邀请多人加入;2、你可以在电脑端的敬业签团队便签中添加word或excel文档附件,然后团签成员就能共享这一文档;3、... 查看详情

如何实现在线编辑word文档

我想开发一个办公系统,实现在线编辑WORD文档,并且直接保存在服务器中。听说要用到控件,请问怎么开发啊控件中的命令怎么使用?要能实现痕迹保留1、百度一下【onedrive】点击进入如下图所示的链接,onedrive是微软件在线云... 查看详情

最好用的在线编辑excel的办法是啥?

最好用的在线编辑Excel的办法是使用控件——SpreadJS,其可为用户提供高度类似Excel的功能,满足WebExcel组件开发、表格文档协同编辑、数据填报、类Excel报表设计等业务场景需求,极大降低企业研发成本和项目交付风险。您的浏... 查看详情

用officeonline打开网络上的office文档

目前没发现什么好用的office在线浏览工具,官方提供的有所限制,不过基本上够用,可以方便没有安装office的用户在线查看和有限的编辑http://view.officeapps.live.com/op/view.aspx?src=要查看的文档地址来源:huangtailang  查看详情

金山文档在线编辑怎么使用

...件,然后输入需要的内容。在文档自动保存以后即生成了在线编辑文档(后续可以再次登录进入进行在线编辑)。具体的创建方法如下:1、在电脑的百度上输入金山文档,找到其官方网站以后点击进入。2、页面跳转以后进入到... 查看详情

如何实现在线预览office文档,用啥控件,服务器是linux

可以使用巴别鸟网盘,只要有浏览器,在线就能预览office文档。参考技术Aoffice36520132016登陆账户即可。。。。 查看详情

测试心得--快易需求文档编辑系统

测试内容:系统中的构件库相关功能以及文档编辑过程中对新类型构件的引用。测试目的:测试出系统中存在的bug并进行修改,完成测试报告的撰写。测试方法:对每一个功能点进行实际操作的测试,重点测试特殊情况下(如数... 查看详情

网易企业邮箱的网易文档是什么?

以前不少公司在进行邮件编辑时,用的都是那种在线文档产品,这些文档平时使用还可以,但一到跨部门办公使用就不太方便。针对这一点,网易与微软连手打造,推出了网易文档产品。现在来说说网易文档都有哪些功能,什么... 查看详情

opensource-在线office方案

...合类浏览器插件商业版本纯前端实现纯前端js的实现excel在线查看编辑,目前主要的几个开源项目有Luckysheet:https://gitee.com/mengshukeji/Luckysheetx-sheet:https://gitee.com/eigi/x-sheetJava实现基于模板的word生成.docx4j:https://github.com/plutext/docx4jhttps:/... 查看详情