textract — библиотека для извлечения текстового содержимого из файлов различных форматов с единым программным интерфейсом на языке Python. Проект предназначен для упрощения процесса извлечения текста из документов и мультимедийных файлов, включая сканированные изображения, PDF, офисные форматы и аудиозаписи, путём объединения вызовов к специализированным движкам и утилитам в единый лаконичный API. Библиотека часто используется в задачах предварительной обработки данных, индексирования, разработки поисковых систем и автоматической обработки документов.
История проекта и подробная информация о поддерживаемых версиях и авторах могут варьироваться в зависимости от конкретной реализации и форков; если официальных сведений недостаточно, это следует учитывать при выборе для критичных проектов. В основе подхода лежит идея абстрагировать различия между форматами файлов и предоставить разработчику единую функцию или метод для получения сырого текста, опционально с указанием языка или уровня распознавания. Реализация обычно интегрирует внешние инструменты для OCR, мультимедийной транскрипции и парсинга контейнеров.
- Поддержка множества форматов: PDF, изображения (JPEG, PNG и др.), документы офисных пакетов (DOC, DOCX, PPTX), текстовые файлы и аудиофайлы.
 - Единый API для извлечения текста, минимизирующий различия в обработке разных типов входных данных.
 - Интеграция с OCR-движками для распознавания текста на изображениях и в сканированных документах.
 - Возможность использования внешних утилит и библиотек для повышения качества извлечения и поддержки специализированных форматов.
 - Опции предобработки: выбор кодировок, фильтрация метаданных, базовая очистка результата (удаление управляющих символов, нормализация пробелов).
 - Поддержка потоковой обработки и пакетного извлечения для интеграции в конвейеры ETL и индексации.
 - Режимы обработки аудио: вызов внешних сервисов или локальных движков для транскрипции речи в текст.
 - Механизмы расширения через адаптеры и плагины для подключения новых парсеров и форматов.