mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
66 lines
2.3 KiB
Markdown
66 lines
2.3 KiB
Markdown
---
|
||
description: "使用基于 AI 的光学字符识别从图片中提取文本。"
|
||
i18n_source_hash: 3d85d423b82c
|
||
i18n_provenance: human
|
||
i18n_output_hash: ae14f7fe10d3
|
||
---
|
||
|
||
# OCR / 文本提取 {#ocr-text-extraction}
|
||
|
||
使用基于 AI 的光学字符识别从图片中提取文本。支持多种语言和质量档位。
|
||
|
||
## API 端点 {#api-endpoint}
|
||
|
||
`POST /api/v1/tools/image/ocr`
|
||
|
||
**处理方式:** 同步 JSON 响应。若提供了 `clientJobId`,则进度也会通过 SSE 上报。
|
||
|
||
**模型包:** `ocr`(5-6 GB)
|
||
|
||
## 参数 {#parameters}
|
||
|
||
| 参数 | 类型 | 是否必填 | 默认值 | 说明 |
|
||
|-----------|------|----------|---------|-------------|
|
||
| file | file | 是 | - | 图片文件(multipart) |
|
||
| quality | string | 否 | `"balanced"` | 质量档位:`fast`(Tesseract)、`balanced`(PaddleOCR v5)、`best`(PaddleOCR VL) |
|
||
| language | string | 否 | `"auto"` | 语言提示:`auto`、`en`、`de`、`fr`、`es`、`zh`、`ja`、`ko` |
|
||
| enhance | boolean | 否 | `true` | 对图片进行预处理以提高 OCR 准确度 |
|
||
| engine | string | 否 | - | 已弃用。请改用 `quality`。将 `tesseract` 映射为 `fast`,将 `paddleocr` 映射为 `balanced` |
|
||
|
||
## 请求示例 {#example-request}
|
||
|
||
```bash
|
||
curl -X POST http://localhost:1349/api/v1/tools/image/ocr \
|
||
-F "file=@document.png" \
|
||
-F 'settings={"quality":"best","language":"en","enhance":true}'
|
||
```
|
||
|
||
## 响应(200 OK) {#response-200-ok}
|
||
|
||
```json
|
||
{
|
||
"jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
|
||
"filename": "document.png",
|
||
"text": "Extracted text content from the image...",
|
||
"engine": "paddleocr-vl"
|
||
}
|
||
```
|
||
|
||
### 进度(SSE,可选) {#progress-sse-optional}
|
||
|
||
若提供了 `clientJobId` 表单字段,则会流式传输进度事件:
|
||
|
||
```
|
||
event: progress
|
||
data: {"phase":"processing","stage":"Recognizing text...","percent":50}
|
||
```
|
||
|
||
## 说明 {#notes}
|
||
|
||
- 需要安装 `ocr` 模型包(5-6 GB)。
|
||
- OCR 直接返回提取的文本,而不是图片下载 URL。
|
||
- 采用回退链:若某个较高质量的档位崩溃(例如 PaddleOCR 段错误),会自动使用下一个较低档位重试。
|
||
- 若某个档位未崩溃但返回了空文本,也会回退到下一个档位。
|
||
- 质量档位对应引擎:`fast` = Tesseract,`balanced` = PaddleOCR v5,`best` = PaddleOCR VL。
|
||
- 通过自动解码支持 HEIC/HEIF、RAW、TGA、PSD、EXR 和 HDR 输入格式。
|