大家好这里是办公智能体广场。最近我们很有激情的研究了一个技术如何从PDF/图片 中提取所有印章图片里的文字。今天就把这套方案和教程做个总结。它可以在断网环境下批量识别一批 PDF 中的印章文字并统一汇总到一个 Excel 表里。一、需求分析我准备了几个PDF 里面有一些印章有椭圆的模糊的清晰的如下3个图例上面总共有4个印章识别的结果Excel如下印章的文字和数字都识别出来了 效果还是不错的二、实现方案一小白上手打开鲸闲办公智能体广场找到 “印章文字提取器”如图注意可断网使用获取 宫中浩气 “老罗软件”。然后将所有的 PDF或者图片 进行输入如图有三个参数可以设置我们选择默认的就可以了。输出结果输出结果会把所有输入文件的印章上的文字都提取出来然后总结放到一个Excel里面有源文件信息印章所在页码第几个印章提取的文字信息等 如图三、实现方案二Python脚本用 Python Paddle 做 PDF / 图片批量印章文字提取对经常要处理合同、票据、扫描档案、盖章文件的人来说非常实用。它适合这样的场景一批 PDF 或图片里都有印章需要把每个印章里的文字统一识别出来再汇总到一个 Excel 里方便检索、核对和归档。优势- 可批量处理大量 PDF 和图片适合成批资料整理- 对扫描件、截图、拍照文件更友好不依赖原始文本层- 支持 PDF 和常见图片格式流程统一- 本地运行文件不出本机适合内部材料和敏感文件- 可将识别结果统一汇总为 Excel后续筛选和核对更方便劣势- 需要一定 Python 基础首次运行要安装依赖并下载模型- 印章如果模糊、残缺、倾斜严重识别效果会受影响- 背景复杂、叠字、骑缝章等场景往往还需要人工复核- 大批量高清 PDF 处理耗时较长对 CPU / 内存有一定压力下面是一个简单的 Paddle 实现示例批量读取目录下的 PDF / 图片识别印章区域中的文字并最终汇总到一个 Excel 文件中。import os from pathlib import Path import pandas as pd from paddlex import create_pipeline # 输入目录可包含多个子目录 input_root rpath\to\your\files # 输出目录 output_root rpath\to\your\output Path(output_root).mkdir(parentsTrue, exist_okTrue) # 支持的文件格式 SUPPORTED_EXT {.pdf, .png, .jpg, .jpeg, .bmp, .webp, .tif, .tiff} # 创建印章识别流水线 # 不同 PaddleX 版本 API 可能略有差异实际以当前版本文档为准 pipeline create_pipeline(pipelineseal_recognition) all_rows [] def process_file(file_path: Path): ext file_path.suffix.lower() if ext not in SUPPORTED_EXT: print(f跳过不支持的文件{file_path}) return print(f识别中{file_path}) # PDF 会按页处理图片按单张处理 results pipeline.predict(str(file_path)) for page_index, res in enumerate(results, start1): # 假设返回结果里包含 seals 字段 # 每个 seal 中包含 text / score 等信息 seals res.get(seals, []) if isinstance(res, dict) else [] if not seals: all_rows.append({ 源文件: str(file_path), 页码: page_index, 印章序号: , 识别文字: 未识别到印章, 置信度: }) continue for seal_index, seal in enumerate(seals, start1): all_rows.append({ 源文件: str(file_path), 页码: page_index, 印章序号: seal_index, 识别文字: seal.get(text, ), 置信度: seal.get(score, ) }) def walk_files(root: Path): for path in root.rglob(*): if path.is_file(): process_file(path) if __name__ __main__: walk_files(Path(input_root)) df pd.DataFrame(all_rows) output_excel Path(output_root) / 印章识别汇总.xlsx df.to_excel(output_excel, indexFalse) print(f处理完成结果已输出{output_excel})四、总结这套方案已经比较实用了不想折腾环境直接用现成工具就能在断网环境下批量把 PDF 或图片里的印章文字汇总到 Excel如果材料特别多、还想自定义流程就用 Python Paddle 脚本。两种方式都本地运行、不改原文件但遇到模糊、残缺、骑缝章这类复杂情况结果还是建议人工抽检一下。