☰
SnapOtter OCR使用教程:从图片与PDF提取文字,支持21种语言的完整指南
2026/10/1 1:10:55 网站建设 项目流程

SnapOtter OCR使用教程:从图片与PDF提取文字,支持21种语言的完整指南

【免费下载链接】SnapOtterOpen-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & run local AI across image, video, audio, PDF & documents, via UI, REST API & pipelines. Your files never leave your network.项目地址: https://gitcode.com/gh_mirrors/st/SnapOtter

SnapOtter 是一款开源、可自托管的文件处理工具,内置 OCR 文字识别功能,能把扫描图片、截图和 PDF 文档中的文字提取成可编辑的.txt文本文件。所有识别都在你自己的服务器上本地完成,文件不离开内网,隐私安全有保障。本教程带你从零开始,快速掌握图片 OCR、PDF OCR 的使用方法、质量档位选择与多语言设置,新手也能 5 分钟上手。

📌 SnapOtter OCR 是什么?

OCR(光学字符识别)就是"把图片里的字变成文字"。SnapOtter 的 OCR 工具支持两种输入场景:

工具输入输出说明
图片 OCRJPG / PNG / WebP 等图片原名_ocr.txt识别单张扫描图、截图、票据
PDF OCRPDF 文档原名_ocr.txt识别扫描件 PDF,可指定页码范围

两种工具都可以通过网页界面或REST API使用,输出统一为纯文本,方便后续复制、编辑或接入流水线。

🚀 3 步从图片提取文字(最快方法)

第 1 步:打开 OCR 工具启动 SnapOtter 后,在网页端工具列表的"图片工具"分类中找到OCR,或直接访问 API 端点POST /api/v1/tools/image/ocr上传文件。

第 2 步:上传图片并选择设置上传一张清晰的照片或扫描图,在设置面板中配置三个核心选项:

  • quality(质量档位):fast/balanced/best,下文详述
  • language(语言):auto自动检测,或手动指定en、zh、ja等
  • enhance(图像增强):对模糊、低对比度图片自动预处理

第 3 步:等待任务完成并下载文本提交后系统返回任务 ID 并实时推送进度,完成后即可下载xxx_ocr.txt文本文件。

相关实现可参考 ocr.ts,其中定义了 OCR 的上传校验、设置参数与任务入队逻辑。

📄 PDF OCR:指定页码,批量提取文字

扫描件 PDF 无法直接复制文字,PDF OCR 工具正好解决这个痛点。

使用步骤:

  1. 在"PDF 工具"分类中打开PDF OCR(API 端点POST /api/v1/tools/pdf/ocr-pdf)
  2. 上传 PDF 文件(⚠️ 不支持加密/密码保护的 PDF,系统会直接拒绝)
  3. 在pages参数中指定处理范围:all表示全部页面,也可填写页码范围只提取需要的部分
  4. 语言与质量档位与图片 OCR 完全一致

PDF 的识别流程是先把选定页面渲染成图像,再交给 OCR 引擎逐页识别,结果在 ocr-pdf.ts 中定义。识别完成后,返回结果还会附带本次使用的引擎、设备(CPU/GPU)与模型版本等元数据,便于排查识别效果问题。

⚙️ 如何选择合适的 OCR 质量档位?

SnapOtter 提供三档识别质量,对应不同的引擎与精度:

档位引擎速度适用场景
FastTesseract⚡ 最快日常清晰图片,快速批量处理
Balanced高精度 OCR 运行时中等复杂排版、需要更高准确率
Best高精度 OCR 运行时 + 图像增强较慢模糊扫描件、低质量票据

选择建议:

  • 默认不填quality时,系统会根据你安装的运行时自动选择(有高精度运行时则用best,否则用fast)
  • Best 档位默认开启图像增强,适合模糊、低对比度的文档
  • 兼容旧版参数:传engine: "tesseract"等价于fast,engine: "paddleocr"等价于balanced
  • ⚠️Fast 档位不支持韩语,识别韩语请安装高精度 OCR 运行时并选择 Balanced 或 Best

档位解析逻辑见 resolveWorkerQuality,底层识别调度见 ocr.ts。

🌍 支持的语言与自动语言检测

OCR 工具的language参数支持以下选项:

  • auto(自动检测):无需手动判断,系统会先探测图片文字脚本,再选择对应语言包识别
  • en(英语)、de(德语)、fr(法语)、es(西班牙语)
  • zh(简体中文)、ja(日语)、ko(韩语,需高精度运行时)

自动检测是 SnapOtter OCR 的亮点之一:对于中英文混排的票据、地址、价格等真实场景,引擎会综合脚本密度与置信度打分,而不是简单取"出现最多的文字类型",避免把英文收据上的零星汉字误判成中文文档。语言映射与自动检测的核心逻辑在 tesseract.ts 与 tesseract-languages.ts 中实现,识别前的图像预处理见 ocr_preprocess.py。

小提示:能确定语言时手动指定,比auto更快也更准;不确定时放心用auto。

❓ 常见问题排查

Q1:上传失败,提示文件过大?OCR 输入有安全上限:图片像素上限约 4000 万(单边不超过 40000 像素),识别输出上限 1MB 文本。超大图片请先压缩再上传。

Q2:提示"Feature not installed"或"Feature incompatible"?Balanced / Best 档位需要额外的高精度 OCR 运行时组件。请在设置中安装对应的 OCR 功能包(可选组件包),或改用fast档位。相关配置参考 ocr-runtime-models.json。

Q3:识别结果有乱码或漏字?

  • 勾选enhance开启图像增强
  • 换用更高质量的图片(清晰度、对比度)
  • 切换balanced/best档位

Q4:能批量处理多个文件吗?可以。SnapOtter 支持批量上传与流水线(Pipeline),把 OCR 串入"下载 → 识别 → 导出"的自动化流程中,详见 pipeline.ts。

📚 延伸阅读

  • OCR 图片识别路由:apps/api/src/routes/tools/ocr.ts
  • OCR PDF 识别路由:apps/api/src/routes/tools/ocr-pdf.ts
  • OCR 引擎核心库:packages/ai/src/ocr.ts
  • PDF 页面渲染与识别:packages/ai/src/tesseract-pdf.ts
  • 最佳档位模型校准配置:docker/ocr-best-v1-calibration.json
  • 部署配置:docker/Dockerfile

现在你已经掌握了 SnapOtter OCR 的完整用法——从单张图片到整份 PDF,从快速识别到高精度多语言提取,全部在本地网络内安全完成。试试上传你的第一份扫描件吧!

【免费下载链接】SnapOtterOpen-source, self-hosted file-processing tool. Convert, compress, OCR, transcribe & run local AI across image, video, audio, PDF & documents, via UI, REST API & pipelines. Your files never leave your network.项目地址: https://gitcode.com/gh_mirrors/st/SnapOtter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询