Как извлечь текст из файлов Word с помощью C #? - PullRequest
2 голосов
/ 09 июня 2011

Я пытаюсь преобразовать большое количество (100 000) файлов Word DOC, они довольно старые.Примерно с 1995 по 2000 год версия Word, я полагаю.Я продолжаю ходить кругами из того, что я вижу здесь в переполнении стека и документации MS.

Что я хочу сделать, так это просто прочитать файл, вставить текст в строку, разобрать строку, извлечь структурные элементы (файл на самом деле является структурированным отчетом, похожим на Patient: Jon Doe).На данный момент я знаю, что я делаю.Я могу разобрать строковые данные, вставить их в полезные переменные, а затем вставить эти данные в базу данных.Но я не знаю, как на самом деле поместить текст в строку.Любая помощь?

PPS я нашел эта ссылка , которая предположительно помещает файл DOC в текстовый файл.Это начало, но я бы предпочел не делать кучу манипуляций с файлами.

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Если вы пытаетесь использовать объектную модель Word, вы всегда должны создавать определенную версию Word на клиенте (поскольку запуск Word на сервере не рекомендуется). К сожалению, вы будете зависеть от ограничений Word в отношении старых файлов, например, в Word 2010 вы можете открывать файлы из Office 95 только в режиме «песочницы» (т.е. вы не можете получить доступ к содержимому файла программно). Кроме того, вам придется иметь дело с неизвестным содержимым шаблона (например, с документами с прикрепленными макросами).

В вашем случае я бы предпочел 3p-компонент, который позволяет получить доступ к контенту. Из систем управления документами, таких как OpenText eDocs и Autonomy iManage, я знаю, что они используют другие инструменты для полной индексации документов всех типов и могут представлять контент в приложении для просмотра. Поэтому, если вы посмотрите в этом направлении, возможно, вы найдете что-то полезное.

0 голосов
/ 09 июня 2011

Файл слова - это просто обычный файл, если говорить о вашем коде.

Попробуйте это:

using System.IO;

StreamReader streamReader = new StreamReader(filePath);
string text = streamReader.ReadToEnd();
streamReader.Close();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...