- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关于使用iWebOffice控件打开文档失败
问题的说明
前言
在使用iWebOffice网络文档控件进行文档流转应用的过程中,有时会遇到文档无法打开的问题(这些问题有的可能是所有的机器都无法打开某个或某些文档,有的可能是部分机器无法打开某个或某些文档)。这个问题看似杂乱,其实是有规律有原因的。
问题原因阐述
进行在线编辑应用时,打开文档的操作受三方面的因素影响:文档本身、客户端的OFFICE软件环境、iWebOffice控件。这三方面任何一种发生异常都会造成打开文档失败的情况。
2.1 文档出现问题的情况
1)为什么控件中打开失败的文档在本地可以打开?
首先要说明一下,OFFICE软件自身提供了两种调用方式。一种是本地打开OFFICE软件的应用程序方式(Application,简称APP),另一种是对象连接与嵌入方式(Object Linking and Embedding,简称OLE)。iWebOffice系列控件调用OFFICE就是用的第二种方式。
这两种调用方式是微软提供的两套独立的调用模式,OLE方式下可以实现大部分APP方式下的应用(注意只是大部分),在实践中我们发现有一些接口的调用在OLE方式下是不行的。除了接口调用上的差别外,我们还发现APP的方式下稳定性明显好于OLE调用方式,我们甚至怀疑微软没有针对OLE调用方式做足够的测试。
2)为什么产生问题文档?
OFFICE稳定性差导致的最大威胁就是保存时容易产生异常文档,因为控件保存的文档本质上是通过OFFICE保存出来再由控件提交给服务器保存。而OFFICE软件也是程序在运行时也可能因为各种原因而出现问题,所以OFFICE保存出异常文档是不可避免的。
3)问题文档有哪些表现形式
这些问题文档有时可能异常的很厉害连APP方式都无法打开,这种情况可以定义为“文档损坏”,损坏一旦严重到APP方式OFFICE都不能打开时就彻底的损失了、无法再修复。有时可能是轻微的错误,这种情况可以定义为“文档异常”,APP有着更好的稳定性所以可能可以打开(并且OFFICE不会报错,所以看上去就像没有异常),而这种异常的文档可能在OLE下就没那么幸运。因此我们有时会看到控件中无法打开的文档,但是下载到本地却可以打开,就是APP和OLE的稳定性差异导致的。
另外,也不是异常了的文档在OLE下都会无法打开,真实的情况是不同的OFFICE软件版本下都会有差异。很可能在A机器可以打开文档,在B机器就无法打开,所以要从根源上解决问题还要具体分析(分析思路之后详述)。OFFICE软件如果加上SP包后就有非常多的版本,仅从OFFICE2003开始就有:OFFICE2003、OFFICE2003 SP1、OFFICE2003 SP2、OFFICE2003 SP3、OFFICE2007、OFFICE2007 SP1、OFFICE2007 SP2、OFFICE2007 SP3、OFFICE2010、OFFICE2010 SP1。并且不同时期安装的补丁包里面的子版本号也非常众多,无法有效评估究竟哪种环境最稳定。因此最妥当的方式是修复文档(修复方法之后详述)。
2.2 OFFICE环境异常的情况
如果OFFICE文档正常,而客户端的OFFICE环境异常时(比如安装的是精简版的OFFICE,或者OFFICE中有部分功能损坏)也会出现文档无法打开的情况。这种情况出现几率很低,一般是整片区域就出现1、2台电脑不正常,而且这样的电脑环境中可能会所有的OFFICE文档都不能正常打开,因此还是比较好判断的。
2.3 iWebOffice控件不正常的情况
iWebOffice控件如果不正常,一般都会抛出异常或提示信息,大多是和内存地址有关的错误。不过,在OFFICE环境异常时控件也会因为调用OFFICE软件失败而抛出异常,所以这些异常信息也需要具体来分析。
iWebOffice控件经过多年的升级,已经采取了各种方法尽量减少出现问题文档的几率,以及各种问题判断的手段。比如保存之前进行文档异常的判断,打开失败时多次尝试等。从目前我们监测到的情况分析,控件原因而导致出现问题的情况已经极少。
解决问题思路
为了解决文档打开这个问题,我们经过多年的分析和研究,总结出了一条非常有效的分析问题的思路。
1、先看看是某个客户端无法打开还是所有机器都无法打开?
前者的话可能是这个机器的环境问题,但还需要进一步的核实。
如果所有机器都无法打开的文档,很大可能性是要打开的这篇文档有问题。可以把文档文件从服务器上取下来,复制到本地再尝试脱离控件使用本地OFFICE打开。如果可以打开就修复处理一下(修复的方法后面详述),如果本地OFFICE也不能打开文档就说明文档已经损坏,并且无法修复。
2、再看看是某些文档无法打开,还是所有的文档都无法打开?
在出
文档评论(0)