NTKO编辑文档.docx
- 文档编号:6284370
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:24
- 大小:213.17KB
NTKO编辑文档.docx
《NTKO编辑文档.docx》由会员分享,可在线阅读,更多相关《NTKO编辑文档.docx(24页珍藏版)》请在冰豆网上搜索。
NTKO编辑文档
NTKO编辑文档
自编
目录:
一、NTKOOFFICE文档控件功能及简介:
2
1:
NTKOOFFICE文档控件简介2
2:
NTKOOFFICE文档控件功能2
二、项目中出现的要求3
1:
上传文件和报告信息不得大于5M3
2:
Word编辑菜单中的问题3
3:
打印控制(可控制前台或者后台打印)5
4:
痕迹保留控制相关6
5:
文档控制7
6:
值域交换9
三、原理介绍12
四、控件在IE或其他浏览器中出现的问题与解决方法13
1:
NTKOOFFICE文档控件为何不能自动装载13
2:
文档控件打开Word文档时提示错误:
-214722116316
3:
NTKO文档控在IE7/IE8环境下部分功能不能正常使用16
五、控件相关属性参考18
1:
相关界面属性18
2:
网络协议相关属性18
3:
行为控制相关属性18
一、NTKOOFFICE文档控件简介:
1:
NTKOOFFICE文档控件简介:
NTKOOFFICE文档控件拥有ActiveX控件。
使用NTKOOffice文档控件,能够在浏览器窗口中直接编辑Word,Excel等Office文档并保存到Web服务器。
控件采用标准HTTP上传协议,支持任意后台Web服务器(iis,domino,webaphere,apache等),任意后台操作系统(win2k,win2003,linux,unix等),以及任意后台编程语言(asp,,jsp,php,,c#等)和任意web应用服务器体系结构(j2ee,.net等)。
2:
NTKOOFFICE文档控件功能:
NTKO 附件管理控件,能够一次上传多个文件或一次扫描多页文件上传至WEB服务器,避免了传统WEB系统每次只能选择一个文件上传的低效率操作。
并支持在浏览器中启动原始文件对应的应用程序对文档进行编辑、阅读。
控件支持如CAD文件、图像文件、OFFICE文件、文本文件等任何文件的阅读或编辑,并支持自动识别修改过的文档,提示保存回服务器。
免去了下载→修改→上传的复杂操作过程。
实现稳定的在线编辑和统一管理。
支持拖放、、多种视图模式、智能提交等多种特性。
支持多种后台web服务器和开发语言
支持DOMINO,IIS,WebLogic,Apache等多种后台web服务器和ASP,JSP,C#,VB.NET,PHP等多种后台开发语言。
在任何后台web服务器都无需后台安装特别的组件或者软件
与DOMINO服务器无缝集成
无需后台组件,和DOMINO服务器可无缝集成。
比INOTES使用更加方便,开发更加快捷
支持智能提交
控件使用我们独创的智能提交技术,支持将附件文件和开发者指定的FORM中的数据一次性上传到服务器
多线程上传下载,性能更高
控件完全采用多线程方式上传下载,可以更好的改善用户体验,达到更高性能
支持UTF-8网页编码
通过IsUseUTF8Data属性,可以支持UTF-8编码网页的智能提交
支持网络缓冲大小自定义
自适应的网络传输速度,并且在特殊网络中允许用户自定义网络传输缓冲的大小
支持HTTP协议,HTTPSOVERSSL协议
对HTTPS协议的支持使得可以创建更加安全的应用。
并且自动支持SessionCookie。
使用当前页面的SessionCookie和服务器进行交互
支持鼠标拖放
二、项目中出现的要求:
1:
上传文件和报告信息不得大于5M
方法:
支持过滤文件大小,文件总数量,以及文件类型
通过控件的BeforeFileAdded事件,用户可以限定允许添加到控件的文件类型,大小,以及数量。
2:
控件Word编辑菜单中的问题:
(1)是否隐藏控件菜单:
项目中要求在乎用NKTO控件去调用Word文档时要隐藏Word菜单,即:
以方便工作人员进行工作:
对于隐藏菜单,我们可以用控件界面控制:
以下Javasctipt函数使用控件属性来控制控件是否显示标题栏,菜单栏,状态栏,工具栏。
functionShowTitleBar(bShow)
{
TANGER_OCX_OBJ.Titlebar=bShow;
}
functionShowMenubar(bShow)
{
TANGER_OCX_OBJ.Menubar=bShow;
}
functionShowStatusbar(bShow)
{
TANGER_OCX_OBJ.Statusbar=bShow;
}
functionShowToolbars(bShow)
{
TANGER_OCX_OBJ.Toolbars=bShow;
}
(2)是否允许用户从控件中拷贝数据:
可以用控件功能控制,
以下函数可用于允许或禁止用户从控件拷贝数据。
functionTANGER_OCX_SetNoCopy(boolvalue)
{
TANGER_OCX_OBJ.IsNoCopy=boolvalue;
}
以下函数可用于工具菜单项控制。
(隐藏工具菜单项和审阅工具栏及右键菜单可用于强制用户在痕迹保留状态下工作)
functionShowToolMenu(bShow)
{
TANGER_OCX_OBJ.IsShowToolMenu=bShow;
}
(3)是否允许用户新建菜单:
可以用控件文件菜单控制
以下函数用于对控件文件菜单的控制。
//允许或禁止文件->新建菜单
functionTANGER_OCX_EnableFileNewMenu(boolvalue)
{
TANGER_OCX_OBJ.FileNew=boolvalue;
}
//允许或禁止文件->打开菜单
functionTANGER_OCX_EnableFileOpenMenu(boolvalue)
{
TANGER_OCX_OBJ.FileOpen=boolvalue;
}
//允许或禁止文件->关闭菜单
functionTANGER_OCX_EnableFileCloseMenu(boolvalue)
{
TANGER_OCX_OBJ.FileClose=boolvalue;
}
//允许或禁止文件->保存菜单
functionTANGER_OCX_EnableFileSaveMenu(boolvalue)
{
TANGER_OCX_OBJ.FileSave=boolvalue;
}
//允许或禁止文件->另存为菜单
functionTANGER_OCX_EnableFileSaveAsMenu(boolvalue)
{
TANGER_OCX_OBJ.FileSaveAs=boolvalue;
}
//允许或禁止文件->打印菜单
functionTANGER_OCX_EnableFilePrintMenu(boolvalue)
{
TANGER_OCX_OBJ.FilePrint=boolvalue;
}
//允许或禁止文件->打印预览菜单
functionTANGER_OCX_EnableFilePrintPreviewMenu(boolvalue)
{
TANGER_OCX_OBJ.FilePrintPreview=boolvalue;
}
(4)是否创建,从本地打开和保存文档:
创建新Word文档:
TANGER_OCX_OBJ.CreateNew(“Word.Document”);
创建新Excel电子表格:
TANGER_OCX_OBJ.CreateNew(“Excel.Sheet”);
提示用户选择本地文件打开:
TANGER_OCX_OBJ.ShowDialog
(1);
提示用户选择本地文件保存:
TANGER_OCX_OBJ.ShowDialog(3);
不提示用户,直接打开指定的本地文件:
TANGER_OCX_OBJ.OpenLocalFile("c:
\\test.doc");
不提示用户,直接保存为指定的本地文件:
TANGER_OCX_OBJ.SaveToLocal("c:
\\test.doc",false);//第二个参数为true将覆盖已存在的文件
注:
项目主要研究Word文档
3:
打印控制(可控制前台或者后台打印)
以下函数用于设置页面布局:
functionTANGER_OCX_ChgLayout()
{
try
{
TANGER_OCX_OBJ.showdialog(5);//设置页面布局
}
catch(err){
alert("错误:
"+err.number+":
"+err.description);
}
finally{
}
}
以下Javascript函数可以用来打印当前文档。
isBackground参数可以控制是前台打印还是后台打印。
对于比较大的文档,如果确认必须等待用户打印完毕,可以调用TANGER_OCX_PrintDoc(false);函数来进行前台打印。
functionTANGER_OCX_PrintDoc(isBackground)
{
varoldOption;
try
{
varobjOptions=TANGER_OCX_OBJ.ActiveDocument.Application.Options;
oldOption=objOptions.PrintBackground;
objOptions.PrintBackground=isBackground;
}
catch(err){};
TANGER_OCX_OBJ.printout(true);
try
{
varobjOptions=TANGER_OCX_OBJ.ActiveDocument.Application.Options;
objOptions.PrintBackground=oldOption;
}
catch(err){};
}
4:
痕迹保留控制相关
设置当前Office的用户名(痕迹的用户名)
//设置用户名
functionTANGER_OCX_SetDocUser(cuser)
{
with(TANGER_OCX_OBJ.ActiveDocument.Application)
{
UserName=cuser;
}
}
进入或退出强制痕迹保留状态,调用该函数下面定义的两个函数。
一般可直接调用本函数
functionTANGER_OCX_SetMarkModify(boolvalue)
{
TANGER_OCX_SetReviewMode(boolvalue);
TANGER_OCX_EnableReviewBar(!
boolvalue);
}
允许或禁止显示修订工具栏和工具菜单(保护修订,用户不能更改当前修订状态):
functionTANGER_OCX_EnableReviewBar(boolvalue)
{
TANGER_OCX_OBJ.ActiveDocument.CommandBars("Reviewing").Enabled=boolvalue;
TANGER_OCX_OBJ.ActiveDocument.CommandBars("TrackChanges").Enabled=boolvalue;
TANGER_OCX_OBJ.IsShowToolMenu=boolvalue;//关闭或打开工具菜单
}
打开或者关闭修订模式:
functionTANGER_OCX_SetReviewMode(boolvalue)
{
TANGER_OCX_OBJ.ActiveDocument.TrackRevisions=boolvalue;
}
显示/不显示修订文字
functionTANGER_OCX_ShowRevisions(boolvalue)
{
TANGER_OCX_OBJ.ActiveDocument.ShowRevisions=boolvalue;
}
打印/不打印修订文字
functionTANGER_OCX_PrintRevisions(boolvalue)
{
TANGER_OCX_OBJ.ActiveDocument.PrintRevisions=boolvalue;
}
接受所有修订
functionTANGER_OCX_AcceptAllRevisions()
{
TANGER_OCX_OBJ.ActiveDocument.AcceptAllRevisions();
}
拒绝所有修订
functionTANGER_OCX_RejectAllRevisions()
{
TANGER_OCX_OBJ.ActiveDocument.RejectAllRevisions();
}
5:
文档控制
切换文档的只读状态(文档保护状态)
functionTANGER_OCX_SetReadOnly(boolvalue)
{
vari;
try
{
if(boolvalue)TANGER_OCX_OBJ.IsShowToolMenu=false;
with(TANGER_OCX_OBJ.ActiveDocument)
{
if(TANGER_OCX_OBJ.DocType==1)//word
{
if((ProtectionType!
=-1)&&!
boolvalue)
{
Unprotect();
}
if((ProtectionType==-1)&&boolvalue)
{
Protect(2,true,"");
}
}
elseif(TANGER_OCX_OBJ.DocType==2)//excel
{
for(i=1;i<=Application.Sheets.Count;i++)
{
if(boolvalue)
{
Application.Sheets(i).Protect("",true,true,true);
}
else
{
Application.Sheets(i).Unprotect("");
}
}
if(boolvalue)
{
Application.ActiveWorkbook.Protect("",true);
}
else
{
Application.ActiveWorkbook.Unprotect("");
}
}
}
}
catch(err){
//alert("错误:
"+err.number+":
"+err.description);
}
finally{}
}
6:
值域交换
如下Javascript函数可将htmlform的域值拷贝到Word文档的标签中
functionCopyTextToBookMark(inputname,BookMarkName)
{
try
{
varinputValue="";
varj,elObj,optionItem;
varelObj=document.forms[0].elements(inputname);
if(!
elObj)
{
alert("HTML的FORM中没有此输入域:
"+inputname);
return;
}
switch(elObj.type)
{
case"select-one":
inputValue=elObj.options[elObj.selectedIndex].text;
break;
case"select-multiple":
varisFirst=true;
for(j=0;j { optionItem=elObj.options[j]; if(optionItem.selected) { if(isFirst) { inputValue=optionItem.text; isFirst=false; } else { inputValue+=""+optionItem.text; } } } break; default: //text,Areatext,selecte-one,password,submit,etc. inputValue=elObj.value; break; } //docopy //DEBUG //alert(inputname+"="+inputValue+"Bookmarkname="+BookMarkName); varbkmkObj=TANGER_OCX_OBJ.ActiveDocument.BookMarks(BookMarkName); if(! bkmkObj) { alert("Word模板中不存在名称为: \""+BookMarkName+"\"的书签! "); } varsaverange=bkmkObj.Range saverange.Text=inputValue; TANGER_OCX_OBJ.ActiveDocument.Bookmarks.Add(BookMarkName,saverange); } catch(err){} finally{ } } 将htmlform的域值拷贝到Word文档的MailMerge域中 functionCopyTextToField(inputname,FieldName) { try { varinputValue=""; varj,elObj,optionItem; varelObj=document.forms[0].elements(inputname); if(! elObj) { alert("HTML的FORM中没有此输入域: "+inputname); return; } switch(elObj.type) { case"select-one": inputValue=elObj.options[elObj.selectedIndex].text; break; case"select-multiple": varisFirst=true; for(j=0;j { optionItem=elObj.options[j]; if(optionItem.selected) { if(isFirst) { inputValue=optionItem.text; isFirst=false; } else { inputValue+=""+optionItem.text; } } } break; default: //text,Areatext,selecte-one,password,submit,etc. inputValue=elObj.value; break; } varFields=TANGER_OCX_OBJ.ActiveDocument.MailMerge.Fields; for(variField=1;iField<=Fields.Count;iField++) { //alert(Fields(iField).Code.Text); if(Fields(iField).Code.Text.indexOf(FieldName)>=0) { Fields(iField).Select(); TANGER_OCX_OBJ.ActiveDocument.Application.Selection.Text=inputValue; } } } catch(err){ //alert(err.number+": "+err.description); } finally{ } } 从Word文档中读出内容,并传递给inputname。 functionReadFromDoc(BookMarkName,inputname) { varinputValue=""; varelObj=document.forms[0].elements(inputname); if(! elObj) { alert("HTML的FORM中没有此输入域: "+inputname); return; } elObj.value=TANGER_OCX_OBJ.ActiveDocument.Content.Text; } 从Word文档中读出指定书签的内容,并传递给inputname。 functionReadBookMarkFromDoc(inputname) { varinputValue=""; varelObj=document.forms[0].elements(inputname); if(! elObj) { alert("HTML的FORM中没有此输入域: "+inputname); return; } varbkmkObj=TANGER_OCX_OBJ.ActiveDocument.BookMarks(BookMarkName); if(! bkmkObj) { alert("Word模板中不存在名称为: \""+BookMarkName+"\"的书签! ");
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NTKO 编辑 文档
![提示](https://static.bdocx.com/images/bang_tan.gif)