Вы можете использовать комбинацию утилит оболочки, таких как pdftotext
для PDF, wvWare
для DOC, docx2txt.pl
для DOCX, как textractor rubygem.
# on Ubuntu
apt-get install wv xpdf-utils links
Есть также собственные классы php для извлечения PDF и docx .
Другой рубин, который даже делает за вас OCR, хотя Tesseract, это docsplit .
Возможно, было бы неплохо рассмотреть Solr для индексации и поиска. Вы можете использовать плагин Solr Cell для индексирования и поиска документов Word, PDF и других файлов. Я успешно использую его в одном из моих проектов. Solr Cell основан на нескольких проектах, таких как Apache POI , Tika и PDFBox .
Сложная задача - настроить все зависимые от ячейки схемы jar и solr, а также выяснить параметры запроса на индексирование, но все это можно понять из вики-документации. Вот моих jar-файлов и схемы, с которых вы можете начать, соответствующей частью схемы является строка, содержащая «attachment».
Однако Solr Cell не выполняет оптическое распознавание текста. Сначала вам нужно будет использовать OCR Engine, чтобы сделать их доступными для поиска.
Для распознавания текста вы можете использовать OpenSource Engine Tesseract, разработанный Google, или вы можете взглянуть на коммерческий движок Abbyy . Оба приходят как утилиты командной строки, которые вы можете запустить из ваших PHP-скриптов. Чтобы получить сопоставимые результаты от Tesseract и Abbyy, вам придется выполнить некоторую предварительную и последующую обработку 1 . Существуют также облачные сервисы, которые могут быть проще. Например, Wisetrend и Abbyy Cloud . Последний в настоящее время находится в бета-версии, поэтому он бесплатный и имеет готовые примеры кода PHP .