很多人以为「识别文字」是一个功能,只是准不准的差别。实际是印刷体、手写、表格是三套不同的识别产品,连计费都是分开的。理解这一点,能解释你遇到的大部分「明明看得清却识别不出来」。
三套模型在解决三个不同的问题
印刷体识别面对的是有限的字形集合。同一款字体里的「全」字,在十万页文档里长得一模一样,模型只要认一次就永远认对。所以它的难点在版式:分栏、字号变化、倾斜。
手写识别面对的是每个人不同的写法。同一个「的」字,一百个人有一百种写法,笔画长度、连带方式、倾斜角全都不固定。所以它的难点在个体差异 —— 这就是为什么手写结果强烈依赖字迹是否工整,而印刷体不太依赖内容是谁写的。
表格识别的核心任务不是认字,是先重建结构:找出表格线、判断行列边界、识别跨行跨列的合并单元格,然后把每个字符分配到正确的格子里。它输出的是二维结构。
走错入口的典型表现
三种错法,症状各不相同,可以当成故障对照表:
手写内容走印刷体入口 → 返回空白。字是有的,只是字形分布完全不在模型的假设里。这也是最常见的「工具坏了」误报。
表格截图走普通图片识别 → 文字全对,行列没了。所有内容变成一串上下排列的文字,然后你要手工把几十列拆回去。
印刷体扫描件走手写入口 → 通常也能出结果,但白白用了更贵的产品。表格识别和通用识别是两个独立计费的产品,手写体又是另一个,选错入口等于多花一次钱。
一张混合页面上有手写也有印刷体怎么办
真实材料经常是混的:印好的表单上加了几行手写填空,或者教材正文旁边有手写批注。
没有一次识别能同时最优处理两种内容。 正确做法是拆开:
- 印刷部分(表格结构、正文)走对应入口
- 手写部分单独拍照,走 手写文字识别
- 结果合并
拆的前提是拍照时就分开:想让表格那页进 Excel,就只把表格区域截出来传 手写表格转Excel;批注想留成文字,单独补拍一张只有批注的图。一次截一个区域,比一次拍整页再去切文本省事得多。
判断该走哪条路的三个问题
按顺序问自己:
- 字是印的还是写的? 写的 → 手写系;印的 → 下一问
- 有表格线、需要保留行列吗? 有 → 表格系;没有 → 下一问
- 最终要什么? 纯文本 → 图片转文字;要可编辑 Word 且原文是 PDF → 扫描件PDF转Word;手写内容要 Word → 手写笔记转Word
一个副作用:同一个额度池,每页扣点不同
页数按图片张数与 PDF 实际页数计,一张图片算 1 页。识别不向游客开放,注册(短信验证码登录即完成注册)一次性送 5 点、永久有效,VIP 会员每月另有 20~120 点配额(当月不结转),单次上传不超过 10 页。
六个识别入口扣的是同一个池子,不需要为手写另买一份额度。但每页扣几点按入口不同:通用文字与手写文字每页 1 点、表格识别每页 2 点、手写表格每页 3 点。所以「同一份材料走哪个入口」直接决定花多少点 —— 手写的表格走手写表格入口是 3 点/页,走通用文字入口只扣 1 点/页,但拿不到行列结构。
调用失败的页不扣点数,所以拿不准入口时先试一次是完全合理的策略 —— 0 成本,而且结果落在哪一档,正好告诉你这份材料值不值得继续电子化。