Я могу говорить только о документах MS Office здесь. Есть несколько способов сделать это:
- Использование COM автоматизации
- Использование конвертеров, которые выводят документ в более доступном формате
- Использование сторонних библиотек
- Использование Microsoft OpenXML SDK
Недостатком автоматизации COM является то, что она не всегда надежна, главным образом потому, что приложения обычно зависают из-за модальных всплывающих диалогов.
Конвертеры доступны для Word. Вы можете ознакомиться с пакетом Text Converter SDK от Microsoft, который позволит вам использовать конвертеры документов, поставляемые с Word, в автономном приложении. Требует некоторого C-кодирования, но поскольку вы используете те же механизмы преобразования, что и Office, вы получите высококачественные результаты. SDK можно получить из http://support.microsoft.com/kb/111716.
Для третьего варианта использования сторонних библиотек вы можете взглянуть на Apache POI или проект b2xtranslator на SourceForge. Последний предоставляет библиотеку C #, которая позволяет извлекать текст из двоичных документов Word. Разработка PowerPoint все еще находится на ранней стадии, но извлечение текста уже должно работать.
Последний вариант - использовать Microsoft OpenXML SDK. Это может быть предпочтительным / самым простым способом. Ищите в Google образцы. Вы также можете обрабатывать двоичные документы, предварительно преобразовав их с помощью пакета обеспечения совместимости Office (загрузить и установить из Microsoft):
Слово:
"C:\Program Files\Microsoft Office\Office12\wordconv.exe" -oice -nme <input file> <output file>
Excel:
"C:\Program Files\Microsoft Office\Office12\excelcnv.exe" -oice <input file> <output file>
PowerPoint:
"C:\Program Files\Microsoft Office\Office12\ppcnvcom.exe" -oice <input file> <output file>