Files
SnapOtter/apps/docs/uk/tools/pdf/ocr-pdf.md
T

68 lines
6.7 KiB
Markdown
Raw Normal View History

---
description: "Витягуйте текст зі сканованих PDF-файлів локально за допомогою вбудованого Tesseract або додаткового високоточного середовища виконання RapidOCR."
i18n_output_hash: 8bee2f949f3f
i18n_source_hash: a19ba25a1ca8
i18n_provenance: human
---
# PDF OCR {#pdf-ocr}
Витягуйте текст зі сканованих документів PDF сторінка за сторінкою, не надсилаючи PDF до зовнішньої служби. Вбудований рівень `fast` використовує Tesseract. Додаткові рівні `balanced` і `best` використовують RapidOCR із закріпленими моделями PP-OCR ONNX.
<!-- korean-ocr-contract:start -->
::: 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`.
:::
<!-- korean-ocr-contract:end -->
## API Endpoint {#api-endpoint}
`POST /api/v1/tools/pdf/ocr-pdf`
Приймає багаточастинні (multipart) дані форми з файлом PDF та необов'язковим полем JSON `settings`.
## Parameters {#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 {#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 {#example-response}
Повертає `202 Accepted`. Відстежуйте перебіг через SSE за адресою `/api/v1/jobs/{jobId}/progress`.
```json
{
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"async": true
}
```
## Notes {#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](./pdf-to-text).