文字识别 (OCR)

添加PDF图片文件 — 或拖放到此处
PDF JPG PNG WEBP

关于这个 OCR 文字识别工具

光学字符识别是从「文字的图片」里读出文字。扫描的合同、拍下的收据、错误信息的截图看起来都像文档,却不包含计算机能选中、检索或复制的文字。OCR 通过分析字母的形状把字符重建出来。

本工具运行的是历史悠久的开源 OCR 引擎 Tesseract,它被编译成 WebAssembly,在你的浏览器里而不是服务器上执行。PDF 页面在识别前会按原尺寸的两倍渲染,因为分辨率是影响准确率的最大单一因素。输出是一个纯文本文件,页与页之间用标记分隔。

识别在你自己的设备上运行。这在 OCR 领域并不常见——多数服务都要求上传——它意味着工资单、诊断书和身份证件可以在不被传输的情况下读取。

如何用 OCR 提取文字

  1. 添加 PDF 或图片。 扫描件、照片、截图都可以。除 PDF 外还接受 JPG、PNG、WebP、HEIC。
  2. 选择语言。 自动会使用当前页面语言加英语,对混排文档效果很好。纯英文文档可固定为英语。
  3. 开始识别。 语言模型首次使用时下载,之后会被缓存。每页需要几秒钟,并显示进度计数。
  4. 下载文本。 结果是 UTF-8 的 .txt 文件,页与页之间用带编号的分隔线隔开。

影响准确率的因素

因素对结果的影响
源分辨率最关键。300 DPI 的扫描件稳定,100 DPI 基本靠猜
倾斜超过两度,准确率就迅速下降
对比度白底黑字最理想,淡复印件和有色背景不利
字体常见宋体黑体稳定,手写体不支持
版式单栏流畅,多栏和表格会丢失结构

关于语言

自动模式会把当前页面的语言与英语配对:中文文档识别为中文+英语,日文文档识别为日文+英语,以此类推。这个组合对应了现实中最常见的情况——一份某种语言的文档里夹着英文产品名、地址或技术术语。

每个语言模型都是几兆字节的独立下载,首次使用时获取,之后由浏览器缓存。因此某个新语言的第一次运行会明显慢于第二次。

常见问题

OCR 是在服务器上跑的吗?

不是,这正是关键。Tesseract 被编译成 WebAssembly,在你的浏览器标签页里运行。你的扫描件不会被上传,因此那些你不愿交给在线服务的文档也可以安全处理。

准确率如何?

对干净、端正的 300 DPI 印刷文字扫描件,准确率通常远高于 95%。淡复印件、倾斜页面、低分辨率照片和特殊字体都会明显降低准确率。

能识别手写吗?

不能。Tesseract 以印刷字体训练,手写笔记、签名和连笔字都无法识别。

输出是什么格式?

UTF-8 纯文本文件。页与页之间用带编号的标记分隔。版式、分栏、表格和图片都不会保留。

为什么第一次运行这么慢?

因为需要下载几兆字节的语言模型。之后会被缓存,同语言的下一份文档会立即开始。

会生成可检索的 PDF 吗?

不会。输出是一个独立的文本文件,而不是把文字层写回 PDF。请把它用于检索、引用或导入其他系统。

相关工具