零门槛可落地:企业档案数字化批量OCR识别完整实操方案

一、前期环境准备

本方案支持Windows/Mac/Linux系统,零代码基础即可操作,仅需按步骤执行即可。

1.1 安装Python环境

要求Python版本为3.8~3.10,直接下载对应安装包:https://www.python.org/downloads/release/python-31011/
关键细节:安装时必须勾选「Add Python to PATH」选项,否则后续命令执行会报错,安装完成后打开命令提示符(CMD),执行以下命令验证:

``` python --version ```

输出显示「Python 3.10.x」即为安装成功。

1.2 安装核心依赖库

首先安装PaddlePaddle深度学习框架,根据你的设备选择对应命令执行:

CPU版本(无独立显卡可用):

``` python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple ```

GPU版本(有NVIDIA独立显卡,识别速度快3-5倍):

``` python -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple ```

验证框架安装,执行以下命令:

``` python -c "import paddle; print(paddle.is_installed())" ```

零门槛可落地:企业档案数字化批量OCR识别完整实操方案

输出「True」即为安装成功。

接下来安装OCR工具和PDF处理依赖,执行命令:

``` pip install "paddleocr>=2.7" opencv-python PyPDF2 pdf2image -i https://pypi.tuna.tsinghua.edu.cn/simple ```

1.3 安装PDF处理依赖Poppler

PDF格式档案需要Poppler转换为图片才能识别,不同系统安装方式如下:

  • Windows:直接下载预编译包:https://github.com/oschwartz10612/poppler-windows/releases/download/v23.08.0-0/Release-23.08.0-0.zip,解压后将解压目录下的Library/bin文件夹路径复制,添加到系统环境变量Path中,添加完成后必须重启CMD才能生效
  • Mac:执行命令brew install poppler
  • Linux(Debian/Ubuntu):执行命令sudo apt update && sudo apt install poppler-utils -y

二、批量处理脚本配置

新建一个空白文件夹作为项目目录,在目录下新建两个文件夹:archives_input(存放待处理档案)、archives_output(存放识别结果),然后新建文件batch_ocr.py,将以下代码完整复制进去:

```python import os from paddleocr import PaddleOCR from pdf2image import convert_from_path OCR初始化,开启倾斜校正,适配中文档案 ocr = PaddleOCR(use_angle_cls=True, lang="ch", use_gpu=False) 配置目录,无需修改,对应前面新建的文件夹 INPUT_DIR = "./archives_input" OUTPUT_DIR = "./archives_output" os.makedirs(OUTPUT_DIR, exist_ok=True) def process_image(image_path, output_name): result = ocr.ocr(image_path, cls=True) txt_content = [] for page in result: if not page: continue for line in page: txt_content.append(line[1][0]) with open(os.path.join(OUTPUT_DIR, f"{output_name}.txt"), "w", encoding="utf-8") as f: f.write("\n".join(txt_content)) return "\n".join(txt_content) def process_pdf(pdf_path, output_name): pages = convert_from_path(pdf_path) full_content = "" for idx, page in enumerate(pages): temp_img = f"temp_{output_name}_{idx}.jpg" page.save(temp_img, "JPEG") page_txt = process_image(temp_img, f"{output_name}_第{idx+1}页") full_content += f"\n===第{idx+1}页===\n{page_txt}" os.remove(temp_img) with open(os.path.join(OUTPUT_DIR, f"{output_name}_全量识别.txt"), "w", encoding="utf-8") as f: f.write(full_content) if __name__ == "__main__": for file in os.listdir(INPUT_DIR): file_suffix = os.path.splitext(file)[1].lower() file_name = os.path.splitext(file)[0] file_path = os.path.join(INPUT_DIR, file) print(f"正在处理:{file}") if file_suffix in [".jpg", ".jpeg", ".png", ".bmp", ".tiff", ".tif"]: process_image(file_path, file_name) elif file_suffix == ".pdf": process_pdf(file_path, file_name) print("所有档案处理完成!") ```

如果你的设备支持GPU,只需要把代码第一行的use_gpu=False改成use_gpu=True即可提升速度

三、运行与结果优化

3.1 执行批量识别

把所有需要处理的扫描版档案(图片、PDF)直接放入archives_input文件夹,不要嵌套子文件夹,档案文件名会作为结果文件名,方便后续检索。然后打开CMD,切换到项目目录,执行命令:

``` python batch_ocr.py ```

等待执行完成,提示「所有档案处理完成」后即可去输出文件夹查看结果。PDF会生成每一页的单独文本文件和全量合并文本,图片生成对应文本文件,可直接导入档案管理系统使用。

3.2 识别准确率优化

  • 针对低清晰度老档案:将OCR初始化代码修改为以下内容,更换高精度识别模型,准确率提升10%以上:
    ocr = PaddleOCR(use_angle_cls=True, lang="ch", rec_model_name="chinese_ocr_db_crnn_server", use_gpu=False)
  • 针对大体积PDF:如果处理上百页的PDF出现内存不足,建议分批次处理,每次放入不超过20个文件到输入文件夹即可。
  • 针对倾斜扫描档案:本方案默认开启倾斜校正,无需手动处理,自动校正后识别。

常见报错排查:如果提示PDF转换错误,检查Poppler环境变量是否配置正确,配置后必须重启CMD;如果提示命令找不到python,检查Python安装时是否勾选了添加PATH,重新安装勾选即可。

AI咨询
热线电话

028-85154420

15388110056

全国售前咨询电话

扫码咨询
安答联动微信公众号二维码

微信扫码关注安答联动

申请试用
热线电话
申请试用

安答联动档案管理系统