Skip to content

lad-tech/ocr-tesseract-js

Repository files navigation

Tesseract.js для выполнения OCR.

Требования

Перед запуском проекта убедитесь, что на вашем компьютере установлены следующие инструменты:

  • Node.js (версия >= 18.x.x)
  • npm (версия >= 8.x.x)

Установка зависимостей

  1. Склонируйте репозиторий проекта или загрузите исходный код.
  2. Перейдите в корневую директорию проекта:
    cd <ваша_директория_проекта>
  3. Установите все необходимые зависимости с помощью команды:
    npm install

Запуск проекта

Разработка (с использованием ts-node)

Для разработки можно использовать ts-node для непосредственного выполнения TypeScript файлов.

  1. Запустите сервер:

    npm start

    Это выполнит команду:

    ts-node ./src/index.ts

    Сервер будет запущен на порту 3000 или другом, указанном в переменной окружения APP_PORT.

  2. Откройте браузер и перейдите по адресу:

    http://localhost:3000
    

Swagger документация

API документация доступна через Swagger UI:

  1. Откройте браузер и перейдите по адресу:

    http://localhost:3000/documentation
    

    Это отобразит интерфейс Swagger для тестирования API.

Переменные окружения

  • APP_PORT: Порт, на котором будет запущен сервер (по умолчанию: 3000).

Структура проекта

src/
│
├── index.ts        # Главный файл, точка входа в приложение
├── ocr.ts          # Функции для OCR обработки
├── pdfUtils.ts     # Функции для работы с PDF
├── worker.ts       # Воркер для параллельной обработки страниц
├── types.ts        # Определение типов
└── tessdata/       # Папка с данными для Tesseract.js

Полезные команды

  • Запуск проекта:
    npm start
    Запускает проект с использованием ts-node.

Описание API

1. POST /parse-pdf

Этот маршрут позволяет загрузить PDF и получить распознанный текст с каждой страницы.

Параметры запроса (query params):

  • startPage (необязательный): номер первой страницы для парсинга (по умолчанию: 1).
  • endPage (необязательный): номер последней страницы для парсинга.
  • limit (необязательный): количество параллельных задач для обработки (по умолчанию: 10).

Тело запроса:

  • Файл в формате application/pdf.

Пример запроса:

curl -X POST "http://localhost:3000/parse-pdf" \
    -H "Content-Type: application/pdf" \
    --data-binary "@your-pdf-file.pdf"

Ответ:

  • Успешный ответ содержит распознанный текст с каждой страницы PDF и статус обработки.
{
  "results": [
    {
      "page": 1,
      "ocrResult": "Текст со страницы 1"
    },
    {
      "page": 2,
      "ocrResult": "Текст со страницы 2"
    }
  ],
  "processedPages": 2
}

Ошибки

Если возникает ошибка, сервер вернет код состояния 500 и сообщение об ошибке:

{
  "error": "Error processing PDF",
  "details": "Описание ошибки"
}

About

Tesseract.js для выполнения OCR.

Resources

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published