Вопрос

Я хотел бы иметь возможность читать содержимое офисных документов (для специального сканера).

Офисные версии, которые должны быть читаемыми, — это период с 2000 по 2007 год.В основном я хочу сканировать слова, документы Excel и Powerpoint.

Я не хочу получать форматирование, только текст в нем.

Сканер основан на lucene.NET, если это может помочь, и написан на C#.

Я уже использовал iTextSharp для анализа PDF.

Это было полезно?

Решение

Вот хороший небольшой пост на c-charpcorner Кришнан Л.Н., который предоставляет базовый код для получения текста из документа Word с использованием сборок Word Primary Interop.

По сути, вы извлекаете свойство WholeStory из документа Word, вставляете его в буфер обмена, затем извлекаете из буфера обмена и конвертируете в текстовый формат.Шаг буфера обмена предположительно делается для удаления форматирования.

В PowerPoint вы делаете то же самое, но вам нужно пройтись по слайдам, затем для каждого слайда пройти по фигурам и получить свойство «TextFrame.TextRange.Text» в каждой фигуре.

Для Excel, поскольку Excel может быть источником данных OleDb, проще всего использовать ADO.NET.Вот хороший пост Лорана Бюньона который проходит через эту технику.

Другие советы

Если вы уже используете Lucene.NET, вы можете просто воспользоваться преимуществами различных IFilter, уже доступных для этого.Взгляните на открытый исходный код ИскатьФайл проект.Он покажет вам, как использовать IFilter для открытия и извлечения этой информации из любого типа файла, где доступен IFilter.Существуют фильтры IFilters для Word, Excel, Powerpoint, PDF и большинства других распространенных типов документов.

Есть отличный проект с открытым исходным кодом. POI, единственный недостаток - он написан на Java.А .net-порт это как-то очень бета.

Здесь — это хороший список различных инструментов для преобразования документов Word в обычный текст, с которым вы затем можете делать что угодно.

Вы также можете рассмотреть возможность использования DtSearch (www.DtSearch.com).Хотя это в первую очередь инструмент поиска, он отлично справляется с извлечением текста из большого количества типов файлов и значительно дешевле, чем другие варианты, такие как технология Oracle/Stellent OutsideIn или ее эквивалент от Autonomy.

Я использую DtSearch уже много лет и считаю его незаменимым для задач такого типа.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top