No description
  • Python 89.4%
  • Dockerfile 10.6%
Find a file
ymnuk 73c5c3e7ea
All checks were successful
ci/woodpecker/tag/woodpecker Pipeline was successful
first commit
2025-06-12 19:43:47 +03:00
models first commit 2025-06-12 19:43:47 +03:00
rest first commit 2025-06-12 19:43:47 +03:00
.dockerignore first commit 2025-06-12 19:43:47 +03:00
.gitignore first commit 2025-06-12 19:43:47 +03:00
.woodpecker.yml first commit 2025-06-12 19:43:47 +03:00
Dockerfile first commit 2025-06-12 19:43:47 +03:00
LICENSE first commit 2025-06-12 19:43:47 +03:00
main.py first commit 2025-06-12 19:43:47 +03:00
README.md first commit 2025-06-12 19:43:47 +03:00
requirements.txt first commit 2025-06-12 19:43:47 +03:00

Document Recognition API

API для распознавания документов с поддержкой обработки изображений, текста, таблиц и генерации документов в различных форматах.

Основные возможности

  • Распознавание текста в изображениях документов
  • Обработка различных типов блоков: текст, таблицы, изображения, QR-коды, штрихкоды
  • Генерация документов в форматах PDF, DOCX и Markdown
  • Поддержка работы как на CPU, так и на GPU

Установка и запуск

Сборка и запуск (CPU версия)

# Сборка образа
docker build -f Dockerfile -t doc-recognition .

# Запуск контейнера
docker run -d -p 8000:8000 --name doc-recognition doc-recognition

Использование API
1. Обработка документа

Endpoint: POST /process-document/

Параметры:

    image: Файл изображения (JPG/PNG)

    blocks: JSON-строка с описанием блоков документа

```bash
curl -X POST "http://localhost:8000/process-document/" \
  -F "image=@document.jpg" \
  -F "blocks='$(cat blocks.json)'"
  1. Генерация документа

Endpoint: POST /generate-document/

Параметры:

json_data: JSON-строка с результатом обработки документа

format: Формат выходного документа (pdf, docx или md)
curl -X POST "http://localhost:8000/generate-document/" \
  -F "json_data='$(cat output.json)'" \
  -F "format=pdf" \
  -o result.pdf

Примеры файлов

Пример blocks.json

[
  {
    "type": "table",
    "bbox": [0.01, 0.34, 0.91, 0.82],
    "rows": [...],
    "cells": [...]
  },
  {
    "type": "text",
    "bbox": [0.04, 0.05, 0.89, 0.07]
  }
]

Технологии

FastAPI - веб-фреймворк для создания API

EasyOCR - библиотека для распознавания текста

OpenCV - обработка изображений

ReportLab - генерация PDF

python-docx - работа с DOCX документами

Контакты

Разработчик: YmnukTech

Репозиторий: https://git.ymnuktech.ru/ymnuk/doc-recognition.git