用 AI 把扫描件转成表格:从 OCR 识别到逐项校对

扫描件转成 Excel 后,列对齐不代表数据就正确。本文以采购清单为例,讲清 OCR、表格结构恢复、字段约束、原文定位和人工复核,给出可复制的提示词与验收方法。

用 AI 把扫描件转成表格:从 OCR 识别到逐项校对

你把一张采购清单照片交给 AI,几秒后得到一张整整齐齐的表格。品名、数量、单价都有了,复制进 Excel 也没有报错。直到月底核对时,才发现编号开头的两个零没了,某一行的数量串到了下一行,单位“箱”被默认理解成“件”。

扫描件转表格的难点,是把原纸上的关系可靠地保留下来。字能不能认出、字属于哪一格、字段代表什么、结果怎样核对,是四个不同问题。本文用虚构的采购清单演示一套可复查的方法,适用于普通业务单据、库存清单和历史纸质记录。

先判断文件里有没有可用的文字

PDF 只是容器。有些 PDF 由软件直接导出,里面有文字层;有些由照片或扫描页组成;也有两者混合的情况。可以先尝试选中、复制一小段文字,看看中文、数字和顺序是否正常。能复制不代表文字层完全可信,它也可能来自一次质量一般的旧识别。

如果原始电子表格仍能找到,优先从源文件导出数据,能省去一次识别误差。必须处理扫描页时,再进入 OCR 流程。OCR 是光学字符识别,把图片中的文字变成机器可处理的文本;它并不天然保证表格行列也恢复正确。

一份可信的结果,应该让你从任意一个有疑问的单元格,回到原文件、原页和原位置。

照片质量决定了后面要花多少力气

先做一页小测试,观察原图中的最小字号、淡色数字和表格边缘。拍摄时尽量正对纸面,保证照明均匀、文字清晰、页边完整。折痕、反光、阴影和过度压缩,会让本来可分辨的笔画混在一起,后续放大图片也无法恢复已经丢失的信息。

如果页面倾斜,可以校正方向;如果四个角形成明显梯形,还需要透视校正。不要一上来给所有文件套强锐化、强去噪或黑白阈值,因为淡印章、小数点和细表格线可能一起被擦掉。保留原图,用少量样本比较处理前后的识别结果。

Tesseract 官方质量指南说明了图像倾斜对行分割的影响,也指出表格识别需要额外的分割或版面分析。实际操作中,先把输入拍清楚,通常比事后反复修改提示词更能减少错误。

人员处理纸质文档的配图,说明扫描材料应保留原文和版面位置
保留原页,并让识别结果能够定位回原文,是后续校对的基础。

把任务拆成识字、还原结构、提取字段

第一层是识字:这一小块图像上写的是“8”还是“3”。第二层是版面:这段文字属于标题、某一列,还是表格外的备注。第三层是语义:这个数字是单价、金额、页码,还是前一页延续过来的小计。三个层次出错,修正方法也不同。

支持文档理解的工具,可能同时返回文本、表格、单元格位置和业务字段。例如 Microsoft 文档分析结果说明区分页面结构与语义字段,并展示原始内容、定位区域等信息。选择工具时,应该查看它实际返回哪些结构,不能只看演示里的表格是否漂亮。

没有自动定位能力的普通对话工具,也可以做小批量辅助处理,但要让输出包含页码、行号和原始片段。若模型无法确定位置,就标为待确认,别编造一个看似准确的坐标。

开始识别前,先约定字段规则

假设清单需要提取五列:物料编号、品名、数量、单位、含税单价。先明确每列的类型和允许值,特别是看起来像数字、实际用于识别身份的内容。编号 00128 应作为文本保存;把它变成整数一百二十八,会丢掉前导零。

字段建议保留形式遇到疑问时
物料编号文本,保留前导零与连字符标注疑似字符,不自行替换
品名原文名称,另列标准名称保留缩写,不猜规格
数量原文和解析数值分列看不清时留空并记录原因
单位件、箱、包等单独一列不把上一行单位自动延续
含税单价原始小数位、币种和数值不拿总额反推后冒充识别结果

空白、零、横线和“未提供”也要分别对待。空白可能表示缺失,零可能是真实数值,横线可能是不适用。最好先保存原始形式,再按明确规则规范化。这样后面改变规则时,可以从原文重新转换。

给 AI 一份能约束补写的提示词

下面的模板适合单页测试。上传材料前先确认处理平台符合你的数据使用要求,移除与任务无关的个人信息和敏感字段。模板应随实际表头调整,不能把它当作适合所有票据的固定解析器。

请提取这张清单中的物料编号、品名、数量、单位、含税单价。逐行输出,不合并不同原始行。每行增加来源页码、原始行位置、需要复核的字段和原因。编号按文本保留前导零;保留原始单位、小数点和负号。无法辨认的字段留空,列出可见字符与疑点,不根据上下行或合计补写。先给原文提取表,再单独给规范化建议。若缺页、缺列或跨页关系无法确认,请明确指出。

提示词不能保证模型绝不猜测,因此验收仍然必要。它的作用是把预期行为说明白,并让错误更容易暴露。尤其要防止“请补全表格”这种笼统要求,它可能让系统把空缺当成待生成内容。

如何处理合并单元格和跨页表格

假设“华东仓”三个字跨越了五行。最终导出为数据库表时,可以把仓库名称填入五条记录,但这是根据合并结构做的规范化,应该能够追溯到同一个来源格。普通空格则不应自动向下填充,否则未填写的内容也会被误当作同一仓库。

跨页清单经常重复表头,页末还有小计、页码和“接下页”。先判断第二页是否延续同一张表,再去除重复表头。不能凭品名相同就合并两行:它们可能是不同批次,也可能真的重复下单。没有业务依据时保留两行并标注疑点。

遇到换行品名,要同时参考单元格边界和其他列的位置。若第二行只有品名续写、数量栏为空,不一定是新记录。反过来,一行挤了两件商品时,也不能强行塞成一个品名。让模型先描述结构疑点,往往比让它直接给最终 Excel 更容易查错。

校对顺序:先完整,再对应,最后算数

  1. 完整性:核对总页数、表格数量、可见原始行与输出行数,检查是否漏页、漏行或重复。
  2. 对应关系:随机挑几行,逐列对照原图;重点看长品名后面是否发生列错位。
  3. 关键字符:复查编号、金额、小数点、负号、日期和容易混淆的字母数字。
  4. 业务约束:核对单位、币种、税率口径和允许范围,异常保留证据。
  5. 计算关系:在口径明确后检查数量乘单价、行小计和总计,记录差额而非自动改数。

计算相等只能提供一条线索。原单可能含折扣、运费或四舍五入,两处识别错误也可能互相抵消。发现合计不一致时,要回查原文和计算规则,不能为了“对账成功”擅自把某一格改成差额。

在笔记本电脑上处理数据表的配图,说明识别结果需要逐项复核
整齐的表格是输出形式,完整性、行列对应和原文一致才是验收内容。

置信度可以排序,不能替你证明正确

某些 OCR 工具会给字段或字符一个置信度,它通常适合帮助安排复核优先级。不同模型的分数尺度未必一致,也未必直接对应“这个字段有多少概率正确”。拿一个统一分数线放行所有文件,需要先在自己的材料上验证。

即使字符识别置信度很高,也可能把正确的金额放进错误行。所以复核队列不能只收低分字段,还应包括关键字段、结构不确定项、规则校验失败项,以及一部分随机抽样。抽查高分样本,可以帮助发现高置信但系统性错位的问题。

导出 Excel 或 CSV 时再检查一次

数据离开识别工具后,表格软件可能重新解释它。长编号可能变科学计数法,前导零可能被删除,类似日期的编号可能变成日期。导入时明确指定文本列,并在保存后重新打开,检查几条具有代表性的记录。

CSV 还有分隔符、换行、引号和编码问题。品名本身包含逗号或双引号时,应交给标准 CSV 导出功能处理;别通过手工拼接字符串凑文件。原始内容若以等号等公式起始字符开头,导入流程应将其作为文本处理,避免被表格软件执行为公式。

推荐保留三个层次:只读原文件、原文提取表、业务规范化表。每次人工修订记录原值、新值、原因和复核人。小批量可以用额外列记录,批量业务则需要稳定的记录编号,避免重新排序后找不到对应来源。

批量处理前,用代表样本做一次验收

别只挑最清楚的一张试跑。样本里应包含模糊页、斜拍页、跨页表、合并格、中英文混排、手写补充和空白字段。先定义什么叫合格,例如关键编号逐项正确、所有可见行都有记录、无法识别的内容明确留待人工处理。

统计时同时看字段正确率、整行正确率和需要人工处理的比例。一张表即使大部分字符正确,只要每行都有一个关键金额错了,也不能自动入账。工具升级或换模板后,重复跑同一组样本,确认没有新增漏列和错位。

对于偶尔处理几页的人,建立一张简单复核表就够用;当每天需要处理成百上千页时,应使用能够保存定位信息、运行日志和版本的流程。决定是否自动化的依据,是人工复核总耗时有没有下降,而不是第一次生成表格有多快。

把流程记成五件事

  • 先检查源文件与图像质量,再选择文字提取或 OCR。
  • 将识字、还原表格结构和业务字段解释分别核对。
  • 保留原文、页码、位置和疑点,不让模型用推测填空。
  • 先查漏行错列,再核对关键数字,最后做计算检查。
  • 导出后重新打开,确认编号、日期、单位和文本格式没有改变。

下一次处理扫描件,可以先拿一页做全流程:提取、复核、导出、回查。只有这一页能说清每个数字来自哪里,批量处理才有可靠起点。


本文为读懂 AI 原创实践指南,采购清单场景为教学示例。OCR 能力与输出格式因工具而异,参考资料已在对应段落标注。配图来自 Unsplash:Wesley Tingey、Bernd 📷 Dittrich、Gorilla ROI Data Connector;图片用于辅助阅读。