Эта страница переведена машинным способом. Заметили ошибку?Помогите её улучшить.
Skip to content

PDF OCR ​

Извлекайте текст из отсканированных документов PDF постранично, не отправляя PDF во внешнюю службу. Встроенный уровень fast использует Tesseract. Дополнительные уровни balanced и best используют RapidOCR с закрепленными моделями PP-OCR ONNX.

Совместимость OCR для корейского языка

Быстрый OCR поддерживает auto, en, de, es, fr, zh и ja, но не корейский язык (ko). Для корейского требуется пакет точного OCR и уровень balanced или best. Пакет работает в официальных контейнерах Linux amd64 и arm64, включая узлы NVIDIA, где OCR по-прежнему выполняется на CPU. На неподдерживаемой системе возвращается явная ошибка совместимости без скрытого перехода на fast. Корейский с fast или устаревшим псевдонимом tesseract отклоняется до постановки в очередь с FEATURE_INCOMPATIBLE и fast-korean-unsupported.

API Endpoint ​

POST /api/v1/tools/pdf/ocr-pdf

Принимает данные multipart form с PDF-файлом и необязательным JSON-полем settings.

Parameters ​

ПараметрТипОбязательныйПо умолчаниюОписание
filefileДа-Файл PDF (многочастный), закодированный до 512 MiB; по-прежнему действует более низкий лимит загрузки оператора
qualitystringНетДинамическийУровень качества OCR: fast, balanced или best.
languagestringНет"auto"Язык документа: auto, en, de, fr, es, zh, ja, ko
pagesstringНет"all"Выбор страниц, например "all", "1-3", "1,3,5"
enhancebooleanНетЗависит от уровняУлучшите локальный контраст перед распознаванием. Fast применяет его напрямую; Сбалансированный и Лучший сохраняют вариант только в том случае, если калиброванная оценка улучшает результат. По умолчанию true для best и false для fast/balanced.
enginestringНет-Устаревший псевдоним совместимости. Вместо этого используйте quality. tesseract сопоставляется с fast; устаревшее значение paddleocr сопоставляется с balanced, но не загружает PaddlePaddle

Если quality и engine не заданы, SnapOtter выбирает лучший доступный уровень в порядке best, balanced, fast. Для корейского языка fast никогда не выбирается: используется best, затем balanced, либо возвращается ошибка установки или совместимости точной среды выполнения.

Example Request ​

bash
curl -X POST http://localhost:1349/api/v1/tools/pdf/ocr-pdf \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"quality": "best", "language": "en", "pages": "1-5", "enhance": true}'

Example Response ​

Возвращает 202 Accepted. Отслеживайте прогресс через SSE по адресу /api/v1/jobs/{jobId}/progress.

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "async": true
}

Notes ​

  • Принимаемый входной формат: .pdf.
  • fast встроен и добавляет к официальному образу около 25 MiB. Для balanced и best требуется дополнительный точный пакет OCR (около 208-234 MiB для загрузки и 409-488 MiB, установленный, в зависимости от цели).
  • Пакет точный поддерживает Linux amd64 и arm64 и использует ONNX Runtime на CPU, в том числе на хостах NVIDIA.
  • Явно запрошенный уровень никогда не понижается автоматически. Если balanced или best недоступны, API возвращает 501 с FEATURE_NOT_INSTALLED или FEATURE_INCOMPATIBLE.
  • Страницы PDF растрируются с высоким разрешением перед OCR. best запускает высокоточные средние модели PP-OCRv6 и оценивает варианты ориентации и улучшения, улучшая распознавание за счет скорости.
  • Языковая настройка auto обеспечивает распознавание в рамках поддерживаемого набора сценариев; явная подсказка может улучшить результаты для известного языка документа.
  • Вы можете указать конкретные страницы с помощью диапазонов ("1-3"), списков через запятую ("1,3,5") или "all" для всех страниц.
  • Запрос может обрабатывать не более 50 страниц. Растрированные рабочие данные ограничены 512 MiB, а совокупный ответ OCR UTF-8 ограничен 1 000 000 байт; задания превышения лимита завершаются неудачей, а не возвращают частичный текст.
  • Для PDF, которые уже содержат выделяемый текст, рассмотрите использование более быстрого инструмента PDF to Text.