Цю сторінку перекладено машинним способом. Помітили помилку?Допоможіть її покращити.
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 "[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, а сукупна відповідь UTF-8 OCR – 1 000 000 байт; надліміт завдань не виконується, а не повертає частковий текст.
  • Для PDF, які вже містять текст із можливістю виділення, розгляньте використання швидшого інструмента PDF to Text.