yby0721 发表于 2011-10-20 12:47:14

求助各位大侠,如何软件编程判断WORD文件是否能正常打开?

大家好,这是第一次发表主题,最近有个问题困扰我了好久了。
1、先说我的情况:我最近在编个文件处理系统,其中涉及到WORD的处理,但进入到系统中的WORD要求必须为可以用WORD软件正常打开的文件,所以在WORD文件进入系统时必须要先判断WORD是否能正常打开。而我要处理的WORD损坏的原因不好说,有些是文件头损坏,有些是其它原因损坏导致打不开。通过软件编程,我想达到的效果是宁可把好的当成坏的,也不能把一个坏的当成好的。
2、再说我现在掌握的程度:在论坛上学习了不少帖子,现在掌握了通过文件头的信息来判断它是否能正常打开,具体做法:若文件头的信息与文件中对应位置的信息不符,不管能不能打开,都把它当做打不开的文件来处理。若文件头的信息与文件中对应位置的信息可以对的上,那我就当它是好的送到系统中去了。但经过测试发现,还是有一部分坏的被我软件判断成好的,送到系统中去了。
3、我的求助问题:WORD文件不能正常打开除了文件头损坏以外还有其它哪些原因?对于我这种判断文件是否能正常打开还有其它哪些办法?

为了把问题描述清楚点,我说的有些啰嗦,希望大家谅解。
等待佳音,谢谢~

白玉箫 发表于 2011-10-20 14:47:47

个人觉得解析doc结构比较好

jim19 发表于 2011-10-20 17:10:04

直接解析ole结构就可以了,写个判断函数,能解析出结构的和不能的.相关的代码可以参考微软的stg

yby0721 发表于 2011-10-20 18:32:46

回复 2# 白玉箫
可以再详细说点吗?

yby0721 发表于 2011-10-20 18:35:08

回复 3# jim19

我试过,使用ole去打开doc时,就直接报错了,估计还是只能从二进制结构入手,还有一个重要原因是使用ole速度较慢

jim19 发表于 2011-10-20 19:12:47

回复 5# yby0721


    你看stg就明白我说什么了.不是用com对象.

白玉箫 发表于 2011-10-20 19:58:17

回复白玉箫
可以再详细说点吗?
yby0721 发表于 2011-10-20 18:32 http://bbs.intohard.com/images/common/back.gif


我没看过具体的doc结构 所以只是提供个思路(38:
页: [1]
查看完整版本: 求助各位大侠,如何软件编程判断WORD文件是否能正常打开?