Микросервис для извлечения текста из документов (PDF, DOCX, TXT, MD) с использованием OCR технологий.
- Извлечение текста из PDF файлов с помощью Tesseract OCR
- Обработка DOCX документов
- Поддержка текстовых файлов (TXT, MD)
- REST API на FastAPI
- Поддержка русского и английского языков
- Учетная запись Heroku
- Heroku CLI установлен
- Git репозиторий
-
Создайте приложение на Heroku:
heroku create your-ocr-app-name
-
Добавьте buildpack для системных зависимостей:
heroku buildpacks:add --index 1 heroku/python heroku buildpacks:add --index 2 https://github.com/heroku/heroku-buildpack-apt
-
Создайте файл Aptfile для системных зависимостей:
echo "tesseract-ocr" > Aptfile echo "poppler-utils" >> Aptfile echo "libgl1" >> Aptfile echo "libmagic1" >> Aptfile
-
Установите переменные окружения:
heroku config:set TIMEWEB_API_KEY=your_api_key_here
-
Разверните приложение:
git add . git commit -m "Deploy to Heroku" git push heroku main
-
Проверьте статус:
heroku ps:scale web=1 heroku logs --tail
GET /- Информация о сервисеGET /ocr/health- Проверка здоровья сервисаPOST /ocr/process-file- Обработка файла
# Проверка здоровья
curl https://your-app-name.herokuapp.com/ocr/health
# Обработка файла
curl -X POST "https://your-app-name.herokuapp.com/ocr/process-file" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "[email protected]"-
Установите зависимости:
pip install -r requirements.txt
-
Установите системные зависимости (Ubuntu/Debian):
sudo apt-get install tesseract-ocr poppler-utils libgl1 libmagic1
-
Запустите сервис:
python main.py
TIMEWEB_API_KEY- API ключ для Timeweb (опционально)PORT- Порт для запуска (автоматически устанавливается Heroku)
- Максимальный размер файла: 50MB
- Поддерживаемые форматы: PDF, DOCX, TXT, MD
- Таймаут обработки: 30 секунд (настраивается в Heroku)
Для мониторинга производительности используйте:
heroku logs --tail
heroku ps