C#在打开之前测试有效的Word文档

时间:2010-11-26 03:55:14

标签: c#-4.0

我正在使用C#和Microsoft.Office.Interop.Word来处理Microsoft Word文档。问题是当我将图像重命名为文件扩展名.doc然后按如下方式调用com对象时它会挂起。在尝试打开文件之前,必须有一种方法来测试文件是否是有效的word文档。有人有答案吗?

ApplicationClass.Documents.Open(ref path,
                                ref missing, ref readOnly,
                                ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref missing,
                                ref missing, ref missing, ref isVisible,
                                ref missing, ref missing, ref missing);

3 个答案:

答案 0 :(得分:1)

经过一些测试后,我决定使用Aspose:http://www.aspose.com/

事实证明这非常强大且易于使用。当文档格式不正确且可以捕获和处理时,它会抛出异常。

答案 1 :(得分:1)

您可以使用

检查if文档是否存在

(System.IO.File.Exists((字符串)文件名))         {

} 由于路径是一个字符串,您可以使用子字符串表示最后的3-4个符号。 或者您可以使用分隔符''拆分它。 这应该是第一部分和最后一部分。

答案 2 :(得分:0)

您可以检查文件中的第一个字节,查看Word 97/8 file format - 尤其是关于FIB内容的部分(文件信息块)。 .docx文件当然需要不同的处理。