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

[复制链接]

该用户从未签到

1

主题

7

回帖

20

积分

[INTOHARD]工兵

Rank: 1

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

为了把问题描述清楚点,我说的有些啰嗦,希望大家谅解。
等待佳音,谢谢~
  • TA的每日心情
    擦汗
    2016-6-15 19:50
  • 签到天数: 141 天

    [LV.7]四品道员

    6

    主题

    203

    回帖

    762

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    762
    发表于 2011-10-20 14:47:47 | 显示全部楼层
    个人觉得解析doc结构比较好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-5-27 10:51
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    73

    主题

    711

    回帖

    1889

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    1889
    QQ
    发表于 2011-10-20 17:10:04 | 显示全部楼层
    直接解析ole结构就可以了,写个判断函数,能解析出结构的和不能的.相关的代码可以参考微软的stg
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    回帖

    20

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    20
     楼主| 发表于 2011-10-20 18:32:46 | 显示全部楼层
    回复 2# 白玉箫
    可以再详细说点吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    回帖

    20

    积分

    [INTOHARD]工兵

    Rank: 1

    积分
    20
     楼主| 发表于 2011-10-20 18:35:08 | 显示全部楼层
    回复 3# jim19

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

    使用道具 举报

  • TA的每日心情
    开心
    2013-5-27 10:51
  • 签到天数: 5 天

    [LV.2]九品芝麻官

    73

    主题

    711

    回帖

    1889

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    1889
    QQ
    发表于 2011-10-20 19:12:47 | 显示全部楼层
    回复 5# yby0721


        你看stg就明白我说什么了.不是用com对象.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-6-15 19:50
  • 签到天数: 141 天

    [LV.7]四品道员

    6

    主题

    203

    回帖

    762

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    762
    发表于 2011-10-20 19:58:17 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表