Files
SnapOtter/apps/docs/zh-CN/tools/image/ocr.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
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.
2026-07-11 13:52:47 +08:00

2.3 KiB
Raw Blame History

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
使用基于 AI 的光学字符识别从图片中提取文本。 3d85d423b82c human ae14f7fe10d3

OCR / 文本提取

使用基于 AI 的光学字符识别从图片中提取文本。支持多种语言和质量档位。

API 端点

POST /api/v1/tools/image/ocr

处理方式: 同步 JSON 响应。若提供了 clientJobId,则进度也会通过 SSE 上报。

模型包: ocr5-6 GB

参数

参数 类型 是否必填 默认值 说明
file file - 图片文件(multipart
quality string "balanced" 质量档位:fastTesseract)、balancedPaddleOCR v5)、bestPaddleOCR VL
language string "auto" 语言提示:autoendefreszhjako
enhance boolean true 对图片进行预处理以提高 OCR 准确度
engine string - 已弃用。请改用 quality。将 tesseract 映射为 fast,将 paddleocr 映射为 balanced

请求示例

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

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "filename": "document.png",
  "text": "Extracted text content from the image...",
  "engine": "paddleocr-vl"
}

进度(SSE,可选)

若提供了 clientJobId 表单字段,则会流式传输进度事件:

event: progress
data: {"phase":"processing","stage":"Recognizing text...","percent":50}

说明

  • 需要安装 ocr 模型包(5-6 GB)。
  • OCR 直接返回提取的文本,而不是图片下载 URL。
  • 采用回退链:若某个较高质量的档位崩溃(例如 PaddleOCR 段错误),会自动使用下一个较低档位重试。
  • 若某个档位未崩溃但返回了空文本,也会回退到下一个档位。
  • 质量档位对应引擎:fast = Tesseractbalanced = PaddleOCR v5best = PaddleOCR VL。
  • 通过自动解码支持 HEIC/HEIF、RAW、TGA、PSD、EXR 和 HDR 输入格式。