面向企业文档处理场景,开发了一套PDF OCR自动化工具。支持批量上传PDF和图片文件,自动区分扫描件和文字版PDF,调用OCR引擎提取文字内容,支持表格识别和版面分析。处理完成后自动导出为Word、Excel或结构化JSON格式。包含Web管理界面,支持异步任务队列、处理进度实时查看、结果批量下载。适用于合同归档、发票识别、报表提取等高频文档处理需求。
1、整体架构和设计思路:
基于FastAPI构建Web服务,Celery+Redis实现异步任务队列,支持多文件并发处理。OCR引擎采用Tesseract,结合OpenCV做图像预处理(去噪、二值化、倾斜校正)。架构分为上传层、预处理层、OCR识别层和导出层,各层解耦可独立扩展。
2、我的负责模块和结果:
独立完成全栈开发,编写39个单元测试。支持PDF、图片多格式输入,输出Word/Excel/JSON三种格式。单文件平均处理时间小于10秒,批量处理通过队列调度,支持100+文件并发。
3、遇到的难点和解决方案:
最大难点是扫描件质量参差不齐,低分辨率、倾斜、模糊的PDF识别率极低。解决方案是加入图像预处理流水线:自动检测分辨率并插值放大、Canny边缘检测后透视校正、自适应二值化,将低质量扫描件识别准确率从约60%提升至90%以上。另一个难点是大文件处理时内存溢出,通过分块读取PDF和流式写入输出文件解决。