Files
SnapOtter/apps/docs/uk/tools/pdf/ocr-pdf.md
T
SnapOtterandGitHub 991c981529 fix: make OCR portable and reliable across AMD64 and ARM64 (#519)
* fix: make OCR portable and reliable

* fix: harden OCR installation portability

* fix: pin OCR partials across downloads

* fix: make OCR execution reliably asynchronous

* fix: harden OCR portability and docs routes

* fix: preserve decoder and docs safeguards
2026-07-15 03:34:24 +08:00

6.7 KiB
Raw Blame History

description, i18n_output_hash, i18n_source_hash, i18n_provenance
description i18n_output_hash i18n_source_hash i18n_provenance
Витягуйте текст зі сканованих PDF-файлів локально за допомогою вбудованого Tesseract або додаткового високоточного середовища виконання RapidOCR. 8bee2f949f3f a19ba25a1ca8 human

PDF OCR

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

::: info Сумісність 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

Parameter Type Required Default Description
file file так - Файл PDF (багатокомпонентний), закодований до 512 MiB; все ще застосовується нижчий ліміт завантаження оператора
quality string немає Динамічний Рівень якості OCR: fast, balanced або best
language string No "auto" Мова документа: auto, en, de, fr, es, zh, ja, ko
pages string No "all" Вибір сторінок, наприклад "all", "1-3", "1,3,5"
enhance boolean немає Залежно від рівня Покращте локальний контраст перед розпізнаванням. Fast застосовує його безпосередньо; Balanced і Best зберігають варіант лише тоді, коли відкалібрована оцінка покращує результат. За замовчуванням true для best і false для fast/balanced
engine string немає - Застарілий псевдонім сумісності. Натомість використовуйте quality. tesseract відображається на fast; застаріле значення paddleocr відображається на balanced, але не завантажує PaddlePaddle

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

Example Request

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.

{
  "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.