Цю сторінку перекладено машинним способом. Помітили помилку?Допоможіть її покращити.
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) дані форми з файлом PDF та необов'язковим полем JSON settings.

Parameters

ParameterTypeRequiredDefaultDescription
filefileтак-Файл PDF (багатокомпонентний), закодований до 512 MiB; все ще застосовується нижчий ліміт завантаження оператора
qualitystringнемаєДинамічнийРівень якості OCR: fast, balanced або best
languagestringNo"auto"Мова документа: auto, en, de, fr, es, zh, ja, ko
pagesstringNo"all"Вибір сторінок, наприклад "all", "1-3", "1,3,5"
enhancebooleanнемаєЗалежно від рівняПокращте локальний контраст перед розпізнаванням. Fast застосовує його безпосередньо; Balanced і Best зберігають варіант лише тоді, коли відкалібрована оцінка покращує результат. За замовчуванням 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 "file=@scanned.pdf" \
  -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, а сукупна відповідь UTF-8 OCR – 1 000 000 байт; надліміт завдань не виконується, а не повертає частковий текст.
  • Для PDF, які вже містять текст із можливістю виділення, розгляньте використання швидшого інструмента PDF to Text.