[ASP.NET]NTKO插件使用常见问题
一、环境要求
NTKO OFFICE文档控件能够在IE、谷歌Chrome、Firefox等浏览器中直接编辑MS Office、WPS、金山电子表、永中Office等文档并保存到WEB服务器。(标准版对IE浏览器的兼容进行了验证,其他浏览器并未验证)
使用Ntkooffice套打,对配置环境要求较高,以MS office为例,需要安装完整版Office。
备注:文档控件是ActiveX控件,通过浏览器操作本地的office,所以说系统用户的权限必须管理员身份,这样控件才能正常的加载;还有就是访问的系统里面有文档控件,必须将这个系统加入到IE的可信任站点中去;
加入可信站点如图:IE工具栏-Internet选项
这保护模式不要启用;
这https验证取消,然后点击添加就行了;
如果在使用文档控件,在office文档和表单中的附件一并保存的时候出现失败;
检查一下IE安全设置,将“将文件上载到服务器时包含了本地目录路径” 启用 如图:
二、常见错误
2.1 问题:弹出下图“对象不支持”提示
解决方法:第一次运行时需要允许加载项,然后刷新后重新打开打印页面。
2.2 问题:NTKO OFFICE文档控件不能自动装载
原因分析:控件不能自动加载主要有以下原因导致
1)本地Internet选项中的安全设定,在当前区域禁止下载已签名的ActiveX控件;
2)引用控件的网页中,<object 标记中的codebase属性指定不正确,导致浏览器无法下载OfficeControl.cab文件;
3)服务器上的OfficeControl.cab被破坏,失去正确的签名,或者使用了不正确的版本;
4)虽然服务器上的OfficeControl.cab正确,但是浏览器下载的有问题。这个可能会因为某些WEB服务器的mime的错误配置引起,导致服务器将OfficeControl.cab不以二进制文件的形式发送给浏览器;
5)本地Internet选项中的安全设定,在当前区域不允许运行ActiveX控件和插件;
6)还有可能是由于微软的补丁引起,或者其他防病毒软件或者过滤软件阻止了控件安装;
解决方法:
1) 确认本地Internet选项中的安全设定中,允许下载已签名的ActiveX控件,并允许运行ActiveX控件和插件。
2)确认引用控件的网页中,<object 标记中的codebase=部分,正确指向了服务器上的OfficeControl.cab文件的URL[相对当前网页或者相对服务器根]。
3)从浏览器地址栏直接输入服务器上的OfficeControl.cab文件的URL,包含主机名,确认浏览器出现下载提示并且在下载保存后的OfficeControl.cab文件上,点击右键看属性,在出现的对话框中具有“数字签名”,且签名正确。
4)如果以上方法还不能解决问题,并且您的系统安装了“微软累积安全更新 MS05-052补丁”,请尝试如下步骤:
警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能导致严重问题。这些问题可能需要重新安装操作系统才能解决。
1、单击“开始”,单击“运行”,键入
Regedit.exe,然后单击“确定”。
2、找到以下注册表子项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet
Explorer\ActiveX Compatibility
3、右键单击“ActiveX
Compatibility”,查找NTKO
OFFICE文档控件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},如果该项目存在,右键单击右边的“Compatibility
Flags”项目,然后单击“修改”。在“数值数据”框中,选择16进制,输入00800000,然后单击“确定”。
4、如果该NTKO
OFFICE文档控件的CLSID不存在,则右键单击“ActiveX Compatibility”,指向“新建”,单击“项”,键入NTKO
OFFICE文档控件的CLSID:{C9BC4DFF-4248-4a3c-8A49-63A7D317F404},然后按 Enter。
5、右键单击您在步骤
4 中创建的项,指向“新建”,然后单击“DWORD 值”。
6、键入
Compatibility Flags,然后按 Enter。
7、右键单击“Compatibility
Flags”,然后单击“修改”。
8、在“数值数据”框中,选择16进制,输入00800000,然后单击“确定”。
9、退出注册表编辑器。
5)如果以上方法还不能解决问题,尝试暂时关闭防病毒软件或者其他过滤软件再进行安装。
6)如果还是不能解决问题,可能是机器配置被破坏,可以尝试进行手工安装。具体请参考相关文档。
2.3 问题:加载文档时出现“下载文档数据失败”对话框
解决方法:
错误原因是后台url数据错误。可以尝试从浏览器打开url,如果是后台错误,可以看到详细的错误信息。如果浏览器可以打开,控件不能打开,则可以试试设定控件属性<param name=”IsUseUTF8URL” value=”-1”>
2.4 问题:加载文档时出现“您没有正确安装OFFICE,或者请求创建一个系统不支持的OLE文档类型”错误
解决方法:
这个错误是因为接口没有注册。跟控件本身无关。可以尝试1、打开windows的“写字板”应用程序,选择插入word文档对象。如果这个出错,可以确定是office安装问题,或者是因为ole32.dll没有注册。2、可以尝试在命令行运行“regsvr32.dll”,再试试。3、如果不行,可以彻底卸载office,重新安装。
2.5 问题:控件为什么有时加载文档显示空白,有时可正常加载
这个可能是在body中直接调用OpenFromUrl/BeginOpenFromUrl,但此时控件并未完全初始化/加载完毕,所以出现空白。解决:可以在<body onload=”…”>中调用js函数,这样可以确保在浏览器加载控件完毕之后,才在该js函数中调用OpenFromUrl/BeginOpenFromUrl,这样就可以解决了
2.6 问题:文件存取错误
解决方法:
首先按照备注操作,将系统加入到IE的可信站点中去;如果加入了可信站点还是报文件存取错误的话那就是本机office的问题了,本机office是精简版的office,卸载了本机的然后重装一个完整的office;
1.环境问题,按照以下步骤检查
1)在写字板插入word对象试试,如果不报错,说明office是正确安装的
2)打开命令行,然后输入regsvr32 ole32.dll (win7需要这样打开:所有程序 附件 命令行#鼠标右键以管理员身份执行)
3)如果1)2)都没有问题,可以打开任务管理器看看是否有未结束的WINWORD.EXE EXCEL.EXE进程,关闭试试
4)删除normal.dot normal.dotx试试,这两个文件是office的模板文件,在目录C:\Documents and Settings\当前用户\Application Data\Microsoft\Templates下
5)windows7还可以尝试把OA或系统的IP加入信任站点,取消保护模式试试
6)如果以上方法都不行,请重新安装office试试(推荐完全安装)
只有部分文档打开时报错
2.文档被损坏
1)由于未知原因,文档被损坏,这时,可以把从本地打开这个文档,另存一份出来试试控件是否能打开
2.7 问题:使用文档控件打开服务器上面的文档时,出现文件传输错误
解决方法:
控件对象.openFromUrl(url);参数url必须能够返回标准文档的二进制数据流。它可以直接指向服务器上的一个word文档或者页面(这个页面读取文档的数据流,并返回给客户端)。
出现错误分为下面几种情况:
1:url错误。如果url没有问题在浏览器的地址栏直接输入url对应的全url应该能够下载word文档。如果url有问题,控件无法获取文档数据,就会提示“文件传输错误”。
2:编码问题。比如url中带有中文字符,浏览器对url编码导至url被破坏。服务器根据被破坏的url当然也不能返回正确的word二进制流。可以通过设置控件的isuseutf8url=-1(即使用utf8对url编码)。有的时候即使设置了isuseutf8url=-1也不能解决问题。根据经验,可以调用url=escape(url);来重新对url编码一次,然后再调用openFromUrl(url)。
3:服务器设置本身就不支持中文的url。比如tomcat服务器,是可以通过服务器配置文件来设置url编码,有的编码格式本来就不支持中文。这种情况就需要重新设置能够支持中文的url编码格式。
保存文档回服务器时报“文件传输错误” |
2.8 问题:控件使用一段时间后突然提示"您正在运行的NTKO OFFICE文档控件是演示版本已经到期,不能继续使用。(.net版本)
解决方法:
到标准版部署包中拷贝下图的3个文件 ,覆盖项目组对应路径下的文件。
2.9 问题:检测其他地方没有任何问题就是文档保存的时候出现不知名错误
解决方法:
可能引起的原因就是在:打开文档Openfromurl第二个参数或者BeginOpenfromURL第三个只读属性设置为true,这样就不能将文档保存回服务器;所以解决方案就是将这个参数设置为false就可以解决;
2.10 问题:当客户端的office版本含有2003、2007和2010,保存文档的时候怎样处理兼容问题
解决方法:
因为低版本的office不能兼容高版本的office文档格式(如office2003不能打开07和10文档),所以建议在保存文档时候可以使用SaveAsOtherFormatToURL方法,该方法用来将文档保存为其他格式的文件到指定的URL。除第一个参数之外,其他参数的格式以及返回值,和SaveToURL方法的参数一致。
第一个参数指明要保存的文件类型:
对Word文档而言,第一个参数的含义如下:
0:保存为word Txt格式;
1:保存为MHT格式。需要客户机安装OFFICE XP及以上版本;
2:保存为XML格式。需要客户机安装OFFICE 2003及以上版本;
3:保存为RTF格式;
4:保存为UnicodeText格式;
5:保存为兼容WORD文档格式;
对Excel文档而言,第一个参数的含义如下:
0:保存为Txt格式;
1:保存为MHT格式。需要客户机安装OFFICE XP及以上版本;
2:保存为XML格式。需要客户机安装OFFICE 2003及以上版本;
3:保存为CSV格式;
4:保存为UnicodeText格式;
5:保存为Excel7格式;
7:保存为Excel95格式;
对PowerPoint文档而言,第一个参数的含义如下:
0:保存为GIF格式;
1:保存为MHT格式。需要客户机安装OFFICE XP及以上版本;
2:保存为JPG格式。
3:保存为RTF格式;
4:保存为PNG格式;
三、其他
3.1 问题:页面分辨率问题
大屏显示器可能会存在页面显示不美观的问题
解决方法:需要使用大屏显示的项目组可以个性化调整页面。
3.2 问题:附件误删问题
假如已经打开证照并且编辑进行了保存操作,则会在框架目录下的对应文件夹下生成一个附件实例,这个时候如果误删实例,则会出现图2的错误。
EpointFrame\BigFileUpLoadStorage\2017\1\EpointFrame
图1:
图2:
3.3 问题:浏览器兼容性问题
标准版对IE及360浏览器做了兼容性验证:
兼容IE 不兼容360
对官网宣传的谷歌Chrome、Firefox浏览器未进行验证。