📖 文档摘要
本教程详细介绍软航OFFICE文档控件的完整集成流程,从前期准备到最终部署,包含JavaScript API调用、Office/PDF文档在线编辑、事件监听等核心技术。适合OA、ERP、CRM等业务系统开发者参考使用。
软航OFFICE文档控件集成教程 - 入门篇
1、软航OFFICE文档控件软件集成前期准备
您需要先测试再购买或您正式购买产品后,我们都会提供产品包、示例及文档。
由于平台的差异,软航OFFICE文档控件软件分为windows版本与国产linux版本。
在windows版产品提供的示例里,目录officecontrol文件夹下会有
加载控件的js:ntkoofficecontrol.min.js
,跨浏览器支持js: ntkobackground.min.js
、windows客户端产品安装包exe文件以及从产品包中解压出来的cab文件。其中OfficeControl.cab、OfficeControlx64.cab为文档控件cab;ntkooledocall.cab、ntkooledocallx64.cab为pdf插件cab。cab文件是从产品文件夹下的压缩包解压得来.
为将软航OFFICE文档控件产品集成到您的业务系统,请将ntkoofficecontrol.min.js、ntkobackground.min.js两个js拷贝到您的项目中。
为保证您集成完毕可正常测试使用,请在需要查看集成效果的客户端上使用exe安装包安装产品。
接下来按照下述流程进行集成即可。
2、引用ntkobackground.min.js以支持多种浏览器调用
以demo为例,采用新打开页面调用软航OFFICE文档控件实现在线打开文档查看、编辑的方式,假设您的系统里面在A页面展示了文件列表,用户点击列表选择文件时就能查看文件内容,那么您只需要在A页面的body里引入ntkobackground.min.js以便进行后续的调用。
注意文件路径的正确性,参考代码:
<body>
<div>
<script src="ntkobackground.min.js"></script>
<!-- 按钮触发打开文档 -->
<button onclick="openEditor()">查看文档</button>
</div>
</body>
3、调用窗口打开方法ntkoBrowser.openWindow(),打开文档查看页面
假设用户需要通过点击文档列表即A页面上做的按钮等打开新页面如editindex.html来查看、编辑选定的文档,那么您只需要实现用户点击按钮时先打开新页面。
打开新页面方法为调用ntkoBrowser.openWindow()方法,该方法为前文引入的ntkobackground.min.js提供。
参考代码:
function openEditor() {
ntkoBrowser.openWindow("editindex.html"); // 参数指向文档查看、编辑页URL 注意路径的正确性
}
4、文档内容查看页面引入ntkoofficecontrol.min.js,以在页面加载软航OFFICE文档控件软件
假设您查看、编辑文档的页面是editindex.html,那么您需要在该页面body处引入ntkoofficecontrol.min.js,以在页面加载软航OFFICE文档控件软件。
注意文件路径的正确性,参考代码:
<body>
<div>
<script src="ntkoofficecontrol.min.js"></script>
</div>
</body>
5、确认软航OFFICE文档控件软件配置信息
当您使用测试产品测试完毕,已购买了正式产品,并且已经拿到了正式产品,此时您就需要对您原本代码里的软航OFFICE文档控件软件的基础信息进行确认。
软航OFFICE文档控件软件基本信息在ntkoofficecontrol.min.js中,主要包含classid、授权信息(MakerCaption、MakerKey、ProductCaption、 productKey)。
根据产品修改ntkoofficecontrol.min.js 中的关键参数:
//64位控件的calssid
var classidx64="A64E3073-2016-4baf-A89D-FFE1FAA10EE0";
//32位控件的classid
var classid="A64E3073-2016-4baf-A89D-FFE1FAA10EC0";
//MakerCaption与MakerKey 买断授权密钥对 如果不是买断可以不写,只写ProducCaption、 productKey密钥对
var MakerCaption="XXXXX";
var MakerKey="";
//ProducCaption、 productKey密钥对 ,ProductCaption是产品授权名称,会显示在产品上
var ProductCaption="XXXXXXXX";
var ProductKey="XXXXXXXXXX";
//解除时间限制密钥
var NoExpireKey="";
要求:classid与OfficeControl.cab(注意:不是ntkooledocall.cab)中inf文件里显示的完全一致。
测试产品无需输入授权信息,正式产品请看产品包中的《密钥及使用说明.txt》。
如您购买的产品为买断授权则,需要填写MakerCaption与MakerKey 买断授权密钥对,请务必按照密钥及使用说明文档中提供的信息进行填写;此时跟随产品会提供ProducCaption、 productKey的生成工具,根据您想要显示的授权信息生成,正确写入代码即可。
如为单套购买产品,则只需要按照产品包中的《密钥及使用说明.txt》里的ProductCaption、 productKey信息复制到代码中即可。
若您拿到的产品为有时间限制的正式产品,请您注意按照提供的解除时间限制密钥信息设定NoExpireKey。
恭喜您到这一步已经实现了将软航OFFICE文档控件软件集成到了您的系统中。
接下来您就可以调用软航OFFICE文档控件软件提供的方法、属性实现对于文档的打开编辑等控制了。
6、调用文档打开方法OpenFromURL,打开Office类型文档
假设您通过读取文件标准二进制流返回了一个Office类型文件,您获取文件标准二进制流的url为 http://ip:port/oa/fileedit?fileid=xxxx; 注意您这个url地址没有作其它权限控制的情况下可直接通过浏览器地址栏访问下载到您即将打开的文档,并且您本地安装的Office编辑软件可正常打开的。
此时您就可以通过软航OFFICE文档控件软件提供的文件打开方法如
OpenFromURL
传入上述url实现该文档的在线预览、编辑功能。在调用方法前,应先获取软航OFFICE文档控件软件对象,注意将控件对象设置为全局变量,否则请在每次调用前去获取 避免由于对象获取不到引起的方法调用异常。
参考代码:
var ntkoObj = document.getElementById("TANGER_OCX"); //getElementById的ID来源于ntkoofficecontrol.min.js中设定的object id
获取到软航OFFICE文档控件软件对象之后就可以调用方法、设定属性了。
调用OpenFromURL方法打开Office文档代码参考:
ntkoObj.OpenFromURL("http://IP:port/OA/fileedit?fileid=XXXX");
- OpenFromURL方法参数详解:
参数 | 可选/必选 | 数据类型 | 说明 |
---|---|---|---|
URL | 必选 | string | 后台处理返回文件的URL |
ReadOnly | 可选 | bool | 是否以只读方式打开 |
ProgId | 可选 | string | 文档类型 |
7、调用文档打开方法OpenFromURL,打开PDF类型文档
如您需要打开的文档是PDF、TIF、TTIF等文件,则需要在调用OpenFromURL方法前添加对于此类文件的支持。
软航OFFICE文档控件软件打开PDF等文件代码参考:
if(window.navigator.platform=="Win32"){
ntkoObj.AddDocTypePlugin(".pdf","PDF.NtkoDocument","4.0.1.0","officecontrol/ntkooledocall.cab",51,true);
}
if(window.navigator.platform=="Win64"){
ntkoObj.AddDocTypePlugin(".pdf","PDF.NtkoDocument","4.0.1.0","officecontrol/ntkooledocallx64.cab",51,true);
}
ntkoObj.OpenFromURL("http://IP:port/OA/fileedit?fileid=XXXX");
- AddDocTypePlugin方法参数详解:
参数 | 可选/必选 | 数据类型 | 说明 |
---|---|---|---|
FileExt | 必选 | string | 添加支持的文件扩展名 |
ProgID | 必选 | string | ProgID |
Version | 必选 | string | 插件版本号 |
URL | 必选 | string | 插件cab包url地址 |
DocType | 必选 | string | 文档类型标识 |
vbAutoDown | 可选 | bool | 是否自动下载插件 |
更多方法、参数说明请参考《软航OFFICE文档控件开发接口参考》。
我司还有针对OFD、PDF等版式文档的轻量级阅读解决方案,详见软航OFD、PDF轻量级阅读方案。
8、设定软航OFFICE文档控件软件属性
- 产品属性设定方法为:控件对象.属性=属性值,采用键值对方式进行直接赋值即可。参考代码:
ntkoObj.fileopen = false; // 禁用文件菜单的"打开"功能
9、监听软航OFFICE文档控件软件事件
- 软航OFFICE文档控件软件事件监听方式为:在产品所在页面(如上述提到的文档编辑页面editindex.html)head标签里用
<script>
标签声明事件响应,代码格式如下:
<script language="Jscript" for="软航OFFICE文档控件ID" event="事件名(事件返回参数1, 事件返回参数2)">
// 事件里需要响应的代码
</script>
ID来源于ntkoofficecontrol.min.js中设定的object id,事件名与事件返回参数详细参考《软航OFFICE文档控件开发接口参考》。
当您想实现打开文档之后立即进入只读模式,您便可以通过事件来进行代码精准控制。
以上述需求为例,您可以通过监听OnDocumentOpened事件来实现。
参考代码:
<script language="Jscript" for="TANGER_OCX" event="OnDocumentOpened(url, doc)">
ntkoObj.SetReadOnly(true, "password"); // 文档打开后立即设为只读
</script>
恭喜,至此您已经将软航OFFICE文档控件软件集成到您的业务系统中,实现了控件的加载及打开文档的基础功能。更多功能,请参考产品开发手册。
软航OFFICE文档控件软件简介
软航OFFICE文档控件软件,是一款功能强大的流式文档在线编辑、预览及版式文档阅读软件。
通过该软件实现的在线编辑预览具备office文档格式高度兼容、有效保证排版效果。
该软件提供1000+个标准API接口,可与OA、ERP、CRM、HRM、SCM、MES、DMS、财务管理系统、WMS等诸多信息系统进行高度集成融合,赋能文档编辑预览,实现高效协作。
软航OFFICE文档控件功能强大,具备在浏览器中直接支持微软OFFICE如word、excel、ppt、金山WPS如WPS文字、电子表格、演示文稿、PDF等诸多文件类型的在线编辑与预览。用户无需反复进行上传、下载文件操作,有效提升工作效率!
支持用户留痕操作,与OA系统等高度集成,便于审查与最终文档修改历史,有效提升协作效率。
具备多种安全控制手段,可有效保障文档数据安全;支持自定义菜单、自定义工具栏、自定义按钮等多种控制界面风格接口满足用户日常所需。支持将在线文档保存为多种格式如PDF、HTML、OFD等,满足不同场景业务需求。
更多产品介绍详见:软航OFFICE文档控件软件介绍。
❓ 常见问题FAQ
Q: 软航OFFICE文档控件支持哪些文件格式?
A: 支持Word、Excel、PowerPoint、PDF、TIF、TTIF等多种格式,通过插件扩展还可支持PDF等版式文档。
Q: 集成后如何确保文档安全性?
A: 控件提供多种安全控制手段,包括只读模式、权限控制、水印保护等,可有效保障文档数据安全。
Q: 是否支持移动端使用?
A: 目前主要支持Windows客户端,移动端可使用软航移动编辑解决方案,详情请查看相关产品介绍。