[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、单击“开始”,单击“运⾏”,键⼊ ,然后单击“确定”。
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 οnlοad=”…”>中调⽤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编码格式。
保存⽂档回服务器时报“⽂件传输错误”
SaveToUrl()⽅法的返回值就是url指向页⾯的执⾏完后整个页⾯的内容.如果后台url程序有错误,保存不成功.控件就会提⽰"⽂件传输错误",并且SaveToUrl()⽅法的返回值中就包含了错误信息,可以通过类似下⾯的代码查看错误信息,并对url页⾯进⾏排错:
var resTTML = 控件对象.saveToUrl(url,..);
alert(resTTML);
2.8 问题:控件使⽤⼀段时间后突然提⽰"您正在运⾏的NTKO OFFICE⽂档控件是演⽰版本已经到期,不能继续使⽤。(版本)
解决⽅法:
到标准版部署包中拷贝下图的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格式;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论