C # Проверка на действительный документ Word перед его открытием - PullRequest
0 голосов
/ 26 ноября 2010

Я использую 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 ]

1 голос
/ 06 декабря 2010

После некоторого тестирования я решил использовать Aspose: http://www.aspose.com/

Оказывается, это очень мощный и простой в использовании.Выдает исключение, когда документ имеет неправильный формат, который можно перехватить и обработать.

1 голос
/ 06 мая 2011

вы можете проверить, существует ли документ с

(System.IO.File.Exists ((строка) Filename)) {

} и так как путь является строкой, вы можете использовать подстроку для последних 3 - 4 знаков. Или вы можете разделить его с разделителем '.' И это должно дать вам первую и последнюю часть.

0 голосов
/ 26 ноября 2010

Вы можете проверить первую горстку байтов в файле, проверить формат файла Word 97/8 - особенно раздел о содержимом FIB (блок информации о файле).Конечно, файлы .docx требуют другой обработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...