使用指南 · 2026年10月17日
怎么把 PDF 里的表格提取出来:先分清行列是否真的存在
提取表格的难点不在认字,而在还原行列关系。三种情况的处理方式与准确率预期,一次说清。
先试最简单的办法:直接复制
如果这份 PDF 是从 Excel / WPS 直接导出的,里面的表格其实是有结构的。在阅读器里框选整张表,复制,粘贴到 Excel 里,大概率能直接还原行列。
试一次只花十秒。能成功就不用往下走了。
扫描件:必须用表格 OCR
扫描件里没有行列信息,只有像素。模型需要同时判断"这里有哪些字"和"这些字属于第几行第几列",后者要难得多。所以表格 OCR 的准确率天生低于普通文字 OCR。
- 线框清晰、表格规整:识别效果较好,结构基本正确
- 合并单元格、多层表头:需要人工调整
- 跨页表格、倾斜拍照:准确率明显下降
为什么导出的是 xlsx 而不是 csv
CSV 用逗号分隔字段,而中国用户的表格里经常出现千分位(1,234.56)和带逗号的地址,Excel 打开 CSV 时会把这些内容切开,一列变好几列。
xlsx 保留完整结构,打开即可用,不需要在导入向导里反复调参数。
校对清单
这四步能拦掉绝大多数严重错误。表格数据通常要用于计算或申报,错一个数字的代价远高于校对所花的时间。
- 行数是否与原件一致(最容易发现漏行)
- 金额列:小数点位置、千分位
- 编号列:0 与 O、1 与 l
- 日期列:月日顺序、年份
表格识别最常见的四种失败
第一种是漏行。当表格的行距比字高只有一点点时,模型会把两行当成一行。判断方法很简单:数一下结果的行数,和原件对比。这是最容易发现也最容易被忽略的错误。
第二种是列错位。当表格里存在合并单元格时,后续行的列会整体偏移。表现是某一列的值跑到了相邻列里,或者整行数据右移一格。这类错误很难靠肉眼扫一遍发现,建议抽查最右侧一列的值是否合理。
第三种是表头被当成数据。多层表头、带斜线的表头单元格很容易被拆成多行数据,导致结果多出几行。如果第一行看起来不像表头,基本就是这个问题。
第四种是数字被拆开。当金额里的小数点或千分位正好落在单元格边界上时,模型可能把 1,234.56 拆成 1 和 234.56 两个单元格。核对时重点看小数位数是否一致。
提高识别率的三个前置动作
这些准备只需要一两分钟,但能显著降低后面的校对成本。对需要精确数字的财务、审计场景来说,这个投入产出比非常高。
还有一个容易被忽略的细节:识别前把表格里的单位(元/万元)确认清楚。很多报表的表头写"单位:万元",如果校对时只盯数字不看单位,很容易在后续汇总时把量级搞错。单位属于表头信息,恰恰是 OCR 最容易丢的部分。
- 把倾斜的扫描页摆正。哪怕只是转 2 度,识别率也会有明显改善。
- 把长表格按页拆开,一页一张表。多张表挤在一页时,模型划分边界的准确率会明显下降。
- 如果是拍照件,尽量在均匀光线下正对拍摄,避免阴影横穿表格——阴影常被误判为表格线。