- 安装相关依赖
- 将要处理的 PDF 文件放到该项目
pdfs文件夹中 - 把poppler.zip解压到当前文件夹,具体形式如项目结构所示(这个做法后面也应该要改,现在将就用)
- 安装Tesseract,这个效果一般,先将就着用(见末尾详细说明)
- 运行
python main.py开始处理 - 后续使用处理的信息,要自己写,我只写到了把pdf读到mongodb里面,和导出到csv的逻辑
大创2024/
├── main.py # 🚀 主程序入口
├── config.py # ⚙️ 配置文件,数据库连接、工具路径设置
├── pdf_reader.py # 📖 PDF文本提取
├── info_extractor.py # 🔍 信息提取,使用NLP+正则表达式提取schema
├── db_manager.py # 💾 数据库管理,MongoDB数据的增删改查
├── utils.py # 🛠️ 工具函数,文本清理、金额提取、日期识别
├── pdfs/ # 📂 存放待处理的PDF文件
├── poppler/ # 🖼️ PDF转图片工具
└── requirements.txt # 📋 Python依赖包列表
- 自动判断文件类型(招标文件/投标文件)
- 数据验证和完整性检查
- 处理进度统计和错误处理
- 导出CSV结果
- 数据库连接配置(MongoDB)
- 自动检测Tesseract(这之前需要手动安装)和Poppler路径(poppler现在用的是解压压缩包的简陋办法)
功能:PDF文本提取
PDF 文件
↓
pdfplumber 尝试提取文字
↓
如果提取失败(扫描件)
↓
poppler 将 PDF 页面转为图片
↓
tesseract 对图片进行 OCR
↓
获得文字内容
功能:从文本中提取结构化信息 提取逻辑:使用PaddleNLP进行智能实体识别(就是特征提取,比如招标公司,招标地址等等这种),传统正则匹配作为补充辅助 增添schema:如果要增添提取的schema,可以修改BIDDING_SCHEMA和TENDER_SCHEMA
功能:MongoDB数据操作的封装,用于数据库信息交互,(要读数据的话也可以调用这里面的函数)
1. 下载 Tesseract
- 官方下载地址:https://github.com/UB-Mannheim/tesseract/wiki
- 直接下载链接:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-5.3.3.20231005.exe
2. 安装步骤
1. 双击下载的 .exe 文件
2. 选择安装路径(系统会自动检测以下路径):
- "C:\Program Files\Tesseract-OCR\tesseract.exe"
- "C:\Program Files (x86)\Tesseract-OCR\tesseract.exe"
- "D:\Tesseract-OCR\tesseract.exe"
3. ⚠️ 重要:勾选 "Additional script data" 和 "Additional language data"中 CHINESE相关选项
4. 完成安装
注意:确保安装了支持中文的Tesseract,否则扫描型PDF无法正确识别中文内容。