Извлечение текста из файлов PDF и Word - PullRequest
8 голосов
/ 06 сентября 2010

Как извлечь текст из файлов PDF или Word (удалить жирный шрифт, изображения и другие мультимедийные файлы форматирования) в C #?

Ответы [ 6 ]

7 голосов
/ 10 сентября 2010

Вы можете использовать фильтры, разработанные для / используемые службой индексации.Они предназначены для извлечения простого текста из различных документов, что полезно для поиска внутри документа.Вы можете использовать его для файлов Office, PDF, HTML и т. Д., В основном, для файлов любого типа с фильтром.Единственным недостатком является то, что вы должны установить эти фильтры на сервере, поэтому, если у вас нет прямого доступа к серверу, это может быть невозможно.Некоторые фильтры поставляются с предустановленной Windows, но некоторые, например, PDF, вы должны установить самостоятельно.Для реализации C # проверьте эту статью: Использование IFilter в C #

5 голосов
/ 07 сентября 2010

PDF:

У вас есть различные варианты.

pdftotext:
Загрузите XPDF утилиты . В файле .zip находятся различные утилиты командной строки. Одним из них является pdftotext(.exe). Он может извлечь весь текстовый контент из файла PDF с хорошим поведением. Введите pdftotext -help, чтобы узнать о некоторых параметрах командной строки.

Ghostscript:
Установите последнюю версию Ghostscript (v.8.71). Ghostscript - это интерпретатор PostScript и PDF. Вы также можете использовать его для извлечения текста из PDF:

gswin32c.exe ^
 -q ^
 -sFONTPATH=c:/windows/fonts ^
 -dNODISPLAY ^
 -dSAFER ^
 -dDELAYBIND ^
 -dWRITESYSTEMDICT ^
 -dSIMPLE ^
 -f ps2ascii.ps ^
 -dFirstPage=3 ^
 -dLastPage=7 ^
 input.pdf ^
 -dQUIET 

Выводит текст, содержащийся на страницах 3-7 input.pdf, в стандартный вывод. Вы можете перенаправить это в файл, добавив > /path/to/output.txt к команде. (Убедитесь, что служебная программа PostScript ps2ascii.ps присутствует в подкаталоге Ghostscript lib.)

Если вы пропустите параметр -dSIMPLE, при выводе текста будут угадываться разрывы строк и интервалы между словами. Подробнее смотрите в комментариях внутри самого файла ps2ascii.ps. Вы можете даже заменить этот параметр на -dCOMPLEX для получения дополнительной информации о форматировании текста.

0 голосов
/ 29 апреля 2012

Библиотека Docotic.Pdf может использоваться для извлечения текста из файлов PDF.

Библиотека может извлекать обычный текст и текст с форматированием . Кроме того, набор слов или символов с ограничивающими прямоугольниками можно получить с помощью API библиотеки.

Отказ от ответственности: я работаю на продавца библиотеки.

0 голосов
/ 07 сентября 2010

Возможно, вы захотите взглянуть на PDFBox. Вот ссылка на страницу проекта кода, показывающая, как использовать его в C #, а также другие полезные комментарии.

http://www.codeproject.com/KB/string/pdf2text.aspx

Что касается Word, предложение об использовании объектной модели Word, вероятно, является наиболее точным.

0 голосов
/ 06 сентября 2010

Используйте объектную модель Word, это единственный надежный способ, так как формат Word не открыт и варьируется от версии к версии.

0 голосов
/ 06 сентября 2010

Для PDF вы взглянули на TallPDF

Также отметьте это: http://www.codeproject.com/KB/files/PDF_to_TEXT.aspx

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