把 PaddleOCR 跑在本机上,第一步通常不难:准备环境、安装依赖、选一个样本确认能
识别出文字。但很多流程停在这里。终端里已经有结果,Excel 却还是不能交付,因为
里面没有固定列、来源定位和复核状态。
如果你的目标是把图片、PDF 或文件夹里的编号、日期、金额、名称等信息整理出来,
本地部署要验收的不是"能否输出一段文字",而是下面三件事:
- 本机能稳定处理约定的输入材料。
- 每个目标字段有明确的取值规则与落表位置。
- 导出的每个值都能回到原图或原页复核。
本文基于 PaddleOCR 3.7 安装文档
与 Quick Start 整理。PaddleOCR 3.x
与 2.x 接口存在不兼容变更,执行前应固定实际版本;本文不对任何配置给出速度或
准确率承诺。
1. 先写交付表,再开始部署
本地 OCR 最容易犯的错误,是先把所有文字识别出来,再决定哪些内容需要进表。
这样做会得到一长段文本,随后还要人工从中找字段、复制字段、修正格式。
更稳妥的顺序是先定义交付表。例如要整理一批材料时,可以先把目标列写清楚:
| 来源定位 | 字段 | 识别值 | 复核值 | 状态 |
|---|---|---|---|---|
| 文件名 + 页码 | 编号 | 待识别 | 待确认 | 待复核 |
| 文件名 + 页码 | 日期 | 待识别 | 待确认 | 待复核 |
| 文件名 + 页码 | 金额 | 待识别 | 待确认 | 待复核 |
这里的"字段"不是把识别到的全部文字照搬进 Excel,而是说明最终需要什么。编号是否
保留前导零,日期使用什么顺序,金额的小数点与负号怎样处理,空值能否接受,都应
在部署前写进规则。
2. 按官方 3.x 文档建立最小环境
官方 Quick Start 给出了 CPU 使用 PaddlePaddle 推理引擎的安装顺序。下面的 PowerShell
示例用于先验证单页 OCR 是否能运行;版本和镜像以执行当天官方文档为准。
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install paddlepaddle==3.2.0 -i https://www.paddlepaddle.org.cn/packages/stable/cpu/
python -m pip install "paddleocr[all]"
安装成功后,不要直接把整批文件扔进去。官方 3.x 命令行示例可以先用于一页样本:
paddleocr ocr -i .\sample.png `
--use_doc_orientation_classify False `
--use_doc_unwarping False `
--use_textline_orientation False `
--engine paddle
能输出文本,只说明最小 OCR 链路可用。接下来还要记录操作系统、Python、
PaddleOCR、推理引擎和模型来源,避免未来升级后无法复现本次结果。
3. 用字段契约限制 OCR 的输出范围
一张资料里常常同时有页码、编号、日期、金额和正文数字。若只要求"识别全部内容",
后续仍要重新判断每个值的含义。字段提取任务需要把问题说得更具体。
例如字段不是笼统的"金额",而是"合计金额";不是"日期",而是"合同签署日期"。
每个字段至少补充三项说明:
- 它在原页中通常出现在哪里,附近有什么标签或上下文。
- 有多个候选值时,按什么规则选择。
- 缺失、模糊或格式异常时,写空值、保留候选,还是转人工复核。
这份字段契约可以先用表格维护。OCR 负责读取材料,字段规则负责确定要进入哪一列,
复核状态负责保留不确定性。三者不要混成"识别成功"这一种状态。
4. 先把单页结果做成可回看的记录
单页试跑后,检查的重点不只是字符是否出现,而是每个字段是否能回到原始位置。下面
的真实客户端页面把原页和字段结果并排展示,适合在导出前确认字段来源。

图 1:真实产品客户端中的原始页面与字段结果对照。它用于说明复核方式,不构成
PaddleOCR 本地部署后的性能结论。
检查时可优先看四类情况:
| 情况 | 应做的判断 |
|---|---|
| 同页有多个相似数字 | 依据字段标签和附近文字确认取值 |
| 编号带前导零或连接符 | 确认 Excel 中按文本还是数值保存 |
| 日期格式不统一 | 保留原始写法并记录转换规则 |
| 模糊、多栏或异常版式 | 标记待复核,不依据上下文猜补 |
5. 批量处理前,先建立一个小样本验证集
不要把"本地部署成功"直接扩大为"整批文件都能处理"。固定一组小样本,至少包含
清晰页、模糊页、版式变化页和字段缺失页。每次调整环境、模型或字段规则,都记录:
| 记录项 | 为什么要记录 |
|---|---|
| 运行环境与模型来源 | 判断结果变化来自哪里 |
| 样本编号与页类型 | 让异常能回到原始材料 |
| 字段名称与取值规则 | 避免同一字段前后口径不一致 |
| 识别结果与复核结果 | 区分模型输出和人工确认 |
| 启动、处理、导出耗时 | 避免把不同阶段混成一个性能数字 |
数据还没有记录完整前,不宜把某个模型写成"更快"或"更准"。技术方案可以先写清
测试方法,性能结论则应等固定材料、字段任务、运行环境和人工复核结果齐全后再给。
6. Excel 导出后,补齐复核信息
最终交付不是 OCR 的原始输出,而是一张能继续审核、录入或统计的表。字段结果导出
到 Excel 后,建议保留来源定位、识别值、复核值和状态列,而不是只保留一个最终值。

图 2:真实字段结果导出后的 Excel 示例。实际交付时可再补充来源定位与复核状态。
交付前至少检查:
- 每一行能否回到对应文件和页面。
- 编号、日期、金额等字段的格式规则是否一致。
- 空值、多个候选值和模糊页是否明确标为待复核。
- Excel 列名是否与接收方的后续流程一致。
7. 不想维护 OCR 环境时,直接把任务做成字段表
自己搭建 PaddleOCR 适合需要研究环境、模型或处理链路的读者。若你的目标不是继续
配置 OCR,而是把资料中的指定字段整理成可复核 Excel,可以直接使用文档工作台。
它是一键安装、打开即用的桌面工具,定位为极致轻量和高精确度;导出前仍应回到原图
逐项复核。
本地部署真正的起点不是一条安装命令,而是你能否用一份真实样本验证:目标字段已
定义、异常有去处、每个导出值都能找到原始依据。这个链路稳定后,再扩展到更多材料。