跳转到内容

OCR文字识别

OCR文字识别,简单说,就是把 PDF、扫描件、手机拍照、截图里的印刷文字先拿出来,再变成后续流程能继续用的数据。

很多企业流程卡住,不是因为没有资料,而是因为资料虽然在文件里,但系统接不住。人能看懂,系统却拿不到,结果就只能靠人工再看一遍、抄一遍、录一遍。

这项能力真正解决的,就是把原来“锁在图片和文件里的字”先拆出来。

它最擅长处理的是这些内容:

  • 合同、申请表、报告、证明、通知单里的正文
  • 编号、姓名、日期、金额、批次号、证件号这类关键字段
  • 截图里的文字信息
  • 多页 PDF 里的连续文本
  • 扫描件里格式比较规整的印刷内容

要注意的是,OCR文字识别 的重点是“识别印刷文字”。如果内容主要是表格结构,通常还要配合 表格识别;如果内容主要是潦草手写,通常还要配合 手写内容识别

这项能力接收的,通常不只是一个文件,还会连同业务上下文一起进来。

常见输入包括:

  • 单页或多页 PDF
  • 扫描件
  • 手机拍的照片
  • 系统截图
  • 邮件附件里的图片文件
  • 压缩包里批量上传的文档

一起带进来的上下文,常见有这些:

  • 文件来源
  • 上传时间
  • 上传人
  • 文档类型
  • 业务编号
  • 客户名、批次号、工单号这类关联字段
  • 企业提前定义好的重点识别字段

上下文越完整,后面字段校验和归档就越稳。因为系统不只是“认字”,还知道这些字大概属于哪类材料、该挂到哪条流程上。

这项能力最后交出去的,不该只是“一大段文字”,而应该是一组可继续流转、可检查、可回写的结果。

常见输出包括:

输出项说明
原文文本文件里识别出来的正文内容
关键字段比如姓名、编号、日期、金额、批次号
页码信息这些内容出现在第几页
位置坐标某段文字或字段在页面上的位置
可信度当前识别结果稳不稳
疑难标记哪些字段模糊、缺失、可疑
原图关联方便后面人工回看原始页面

这样下游流程拿到的,就不只是“识别过了”,而是能直接继续干活的结果。

OCR 在企业里真正跑起来时,一般会经过下面这条处理链。它不是拍张照立刻出字那么简单,中间其实有不少准备动作。

系统先看文件格式对不对、页数对不对、图片有没有损坏。

如果一开始文件就打不开,后面的识别根本跑不起来。

2. 再把图片调到更容易识别的状态

Section titled “2. 再把图片调到更容易识别的状态”

很多原始文件并不干净,比如:

  • 拍歪了
  • 太暗
  • 有阴影
  • 有黑边
  • 分辨率太低
  • 文字区域太小

所以 OCR 前面通常会先做一轮预处理,比如拉正、裁边、去噪、增强对比度。
这一步的目的很简单,就是让后面的识别少看错字、少漏字段。

3. 再判断页面上哪些地方是文字

Section titled “3. 再判断页面上哪些地方是文字”

不是一整页所有内容都一样重要。系统通常会先把页面分成不同区域,比如:

  • 标题区
  • 正文区
  • 标签区
  • 编号区
  • 签章附近区域
  • 图片说明区域

先把文字可能出现的位置圈出来,后面识别会更稳,也更容易拿到字段坐标。

到了这一步,系统才开始把每个文字区域里的内容转成机器可读的文本。

这一层通常会输出:

  • 原始识别文本
  • 每段文字的位置
  • 每段文字的可信度

如果是多页文件,就会按页继续往下跑。

OCR 识别出来的原文,不一定能直接拿去用。
比如同样一个日期,可能会出现:

  • 2026/04/22
  • 2026-04-22
  • 2026年4月22日

同样一个编号,也可能夹着空格、符号,或者看起来像字母和数字混淆。

所以系统通常会把这些内容再做一次清洗和标准化,让下游系统更容易接。

6. 最后判断哪些结果可以直接用,哪些必须转人工

Section titled “6. 最后判断哪些结果可以直接用,哪些必须转人工”

不是所有识别结果都适合直接进入流程。
如果某一页太糊,或者关键字段可信度太低,系统会把它标出来,转人工复核,而不是硬着头皮继续往下流。

真正靠谱的 OCR,不是“什么都自动过”,而是“能自动的先自动,不稳的及时交给人”。

flowchart TB
    A[输入PDF / 扫描件 / 照片 / 截图] --> B[检查文件格式、页数、清晰度]
    B --> C{文件是否可处理?}
    C -->|否| D[标记为异常文件并转人工处理]
    C -->|是| E[图像预处理<br/>拉正、裁边、去噪、增强对比度]
    E --> F[版面分析<br/>定位标题区、正文区、编号区等文字区域]
    F --> G[文字检测<br/>找到每一块文字位置]
    G --> H[文字识别<br/>把图像里的印刷文字转成文本]
    H --> I[字段清洗与标准化<br/>统一日期、编号、金额等格式]
    I --> J[可信度校验与缺失检查]
    J --> K{关键字段是否清楚且完整?}
    K -->|否| L[标记疑难字段<br/>进入人工复核]
    K -->|是| M[输出文本、字段、页码、坐标、可信度]
    L --> N[人工修正后回流]
    M --> O[交给归档、审核、录入、比对等下游流程]
    N --> O

OCR 真正对业务有用,不是因为它能“认字”,而是因为它能把文件里的字,整理成别的能力接得住的结果。

下游常见会接到这些内容:

  • 可搜索的全文文本
  • 可单独取用的关键字段
  • 字段对应的页码和位置
  • 哪些内容可信度高
  • 哪些内容需要人工补看
  • 原始文件和识别结果的对应关系

有了这些结果,后面的流程才能继续做:

  • 资料录入
  • 字段校验
  • 文件归档
  • 数据对账
  • 审核分流
  • 系统回写

OCR 最怕的,不是识别不出来,而是识别出来以后没人接。

真正有价值的接法,通常有下面几种:

用户一上传文件,系统就先跑一轮 OCR。
这样后面所有流程拿到的,就不再只是附件,而是“附件 + 可用文本 + 关键字段”。

原来需要人工一条条抄录的字段,可以先由 OCR 提出来,再由人工做确认。
这样能明显减少重复录入。

审核人员不必先翻完整文件找重点,系统可以先把页码、字段、可疑项标出来。
归档系统也能根据识别结果先自动分类、挂号、归档。

如果后面还要做字段核对、金额比对、批次核对,OCR 就是最前面的“取数入口”。
没有这一层,后面的比对能力往往也没法真正自动跑。

OCR 很有用,但边界也很清楚。下面这些情况,最好直接转人工复核:

  • 图片太糊、太暗、反光太重
  • 拍摄角度太斜,文字严重变形
  • 关键字段被遮挡、裁掉、压住
  • 原件印刷本身就不清楚
  • 同一页里章、线条、底纹特别复杂
  • 数字和字母容易混,比如 0O1I
  • 文件内容排版很乱,找不准字段位置
  • 识别结果和业务上下文明显冲突

企业里真正稳的做法,不是强行让 OCR 百分之百自动,而是先自动做掉大部分清楚、标准、重复量大的内容,把高风险部分留给人把关。

OCR 文字识别之所以在企业里一直很常用,是因为它解决的是一个非常基础、非常真实的问题:
信息明明已经写出来了,但系统却拿不到。

1. 它先解决的是“文件里的字拿不出来”

Section titled “1. 它先解决的是“文件里的字拿不出来””

很多流程慢,不是因为后面的审批慢,而是因为第一步录入就很慢。
OCR 先把这一步接住,后面的自动化才有可能发生。

2. 它特别适合处理重复量大的印刷内容

Section titled “2. 它特别适合处理重复量大的印刷内容”

只要文件格式相对稳定、印刷质量还可以、字段规则比较明确,OCR 的价值就会很明显。
这类工作如果完全靠人工,一般都又慢又容易出错。

OCR 很少单独存在。它前面接文件,后面接归档、审核、比对、录入、回写。
正因为它处在链路前面,所以虽然看起来只是“认字”,但实际是很多自动流程的入口。

4. 它边界清楚,所以反而更容易落地

Section titled “4. 它边界清楚,所以反而更容易落地”

OCR 最适合做的是印刷文字提取,不是去替代所有理解、判断和拍板。
能力边界清楚,接业务时反而更稳,也更容易设计人工兜底。