• [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编码格式。

    保存文档回服务器时报“文件传输错误”
    SaveToUrl()方法的返回值就是url指向页面的执行完后整个页面的内容.如果后台url程序有错误,保存不成功.控件就会提示"文件传输错误",并且SaveToUrl()方法的返回值中就包含了错误信息,可以通过类似下面的代码查看错误信息,并对url页面进行排错:
    var resTTML = 控件对象.saveToUrl(url,..);
    alert(resTTML);

    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浏览器未进行验证。 

  • 相关阅读:
    各种排序算法的时间复杂度和空间复杂度
    fork/join框架
    全文检索之solr学习
    【设计模式最终总结】概述、分类、原则
    ASP.NET MVC5+EF6+EasyUI 后台管理系统(75)-微信公众平台开发-用户管理
    下拉列表自己封装的
    下拉列表
    一个原生的JavaScript拖动方法
    JavaScript的jsonp
    angular2 的依赖注入
  • 原文地址:https://www.cnblogs.com/XuCode/p/9217579.html
Copyright © 2020-2023  润新知