基于UiPath/PowerAutomate的PDF指定属性提取至Excel并筛选公司方案咨询
400页PDF属性提取至Excel的最优实现方案
一、切换至Tesseract OCR优化文本抓取
- 替换UiPath中的OCR活动:将原有的Document OCR替换为Tesseract OCR活动,配置对应语言包(支持中英文混合场景),开启自动换行校正和格式保留参数,利用其输出文本排版规整、换行逻辑合理的特性,降低后续字符串处理的复杂度。
- 先做小范围测试:选取3-5页包含目标属性和OEM信息的PDF页进行测试,对比原OCR的输出结果,确认Tesseract的文本格式更利于关键词匹配与属性提取。
二、指定OEM公司的前置过滤
- 预加载目标OEM名单:将指定的OEM公司名单存入字符串数组
TargetOEMs,或读取专门的OEM名单Excel列加载至内存,避免重复读取文件。 - 单页文本先做OEM匹配:抓取单页文本后,用
Contains方法或正则表达式(针对有特殊格式的OEM名称)检查文本是否包含目标名单中的任一公司,不匹配的直接跳过该页处理,减少无效计算。
三、属性与Excel列的映射写入
- 定义属性-列映射字典:创建
Dictionary<string, string>类型的PropertyColumnMap,键为目标属性名称(如"产品型号"、"出厂日期"),值为Excel对应列标识(如"A"、"C"),实现动态匹配。 - 正则表达式精准提取属性值:针对每个目标属性编写匹配正则,例如提取"产品型号:XXX"格式的内容,可使用
产品型号:(.*?)(?=\n|$),从规整的Tesseract文本中捕获属性值;若属性缺失,对应Excel列留空或标记"无数据"。 - 批量写入提升效率:将所有符合条件的页的属性数据存入DataTable,完成所有页处理后一次性写入Excel,避免逐页逐单元格写入的性能损耗(400页场景下,批量写入效率提升明显)。
四、异常处理与流程优化
- 缺失属性的可视化标记:对匹配到OEM但部分属性缺失的页,在Excel对应列填入
"无数据",便于后续人工补全核对。 - 处理日志记录:为每一页记录处理状态(成功/OEM不匹配/属性缺失)至日志文件,方便后续排查问题。
- 并行处理加速:在UiPath中开启并行处理(注意PDF文件读取锁问题),同时处理多页PDF,缩短整体处理周期。
内容的提问来源于stack exchange,提问作者Vanjuli
相关产品推荐
相关产品推荐

