立项原因:企业差旅报销时,财务人员需逐张人工核对机票行程单上的旅客姓名、身份证号、航班号、金额等信息并录入 Excel,效率低下且易出错。本项目旨在通过 OCR 技术自动识别机票 PDF行程单的关键字段,批量提取并导出为结构化表格,解决人工录入耗时、易遗漏、难查重的问题。
业务背景:适用于企业差旅管理、财务报销审核、旅行社订单核验等场景。员工出差后提交电子机票行程单PDF,财务系统需快速提取关键信息并校验发票号码是否重复,确保报销合规。
点击空白处退出提示
立项原因:企业差旅报销时,财务人员需逐张人工核对机票行程单上的旅客姓名、身份证号、航班号、金额等信息并录入 Excel,效率低下且易出错。本项目旨在通过 OCR 技术自动识别机票 PDF行程单的关键字段,批量提取并导出为结构化表格,解决人工录入耗时、易遗漏、难查重的问题。
业务背景:适用于企业差旅管理、财务报销审核、旅行社订单核验等场景。员工出差后提交电子机票行程单PDF,财务系统需快速提取关键信息并校验发票号码是否重复,确保报销合规。
核心模块:
① PDF 文件上传(支持拖拽/选择,自动重命名防冲突);
② 坐标定位 OCR 提取——对机票 PDF 的 11 个关键字段区域(旅客姓名、身份证号、航班号、出发地、到达地、合计金额、出发日期、填开日期、电子客票号码、发票号码、发票类型)进行精确定位文本提取;
③文本清洗——去除换行符、点号、冒号等噪声;
④ 批量处理与 Excel 导出——多张机票同时识别,结果汇总为 Excel表格(含是否重复检测);
⑤ 标记可视化——可在 PDF 上绘制彩色矩形框标注识别区域,便于调试和验证;
⑥重复检测——基于发票号码自动判断是否存在重复报销。
负责独立完成项目开发
技术栈:Flask Web 框架 + PDF 解析 + Pandas 数据处理 + Werkzeug文件安全管理,部署为单机内网服务。
架构亮点:采用硬编码坐标定位方式替代传统 OCR模型,针对电子机票行程单的固定版式直接框选提取区域,避免引入重量级 OCR引擎,轻量高效;文本清洗链去除发票编号中的点号分隔符等噪声;基于发票号码的 duplicated检测实现自动重复报销提醒。
难点攻克:机票 PDF 不同供应商版式略有差异,11 个字段的精确坐标需要反复校准调试;需在document 关闭前完成所有文本提取操作(text extraction beforeclose),处理时序需严格控制;文件名安全处理(secure_filename + 时间戳前缀)防止覆盖与路径穿越。



评论