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