影刀RPA PDF读取与内容提取实战
影刀RPA PDF读取与内容提取实战
作者:林焱
前言
发票、合同、报告、银行对账单——企业里大量数据以PDF形式存在。手动从PDF里复制粘贴数据到Excel,是典型的"重复劳动"。
一、PDF处理的难点
PDF和网页不一样——它不是HTML DOM结构,没有标准化的元素定位方式。PDF的本质是"固定版式的页面",文字位置用坐标描述。
这意味着:影刀没法用XPath定位PDF里的元素。你需要用其他方式提取数据。
拼多多店群自动化报活动上架!
二、三种PDF处理方案
方案1:影刀内置的PDF读取
指令"读取PDF文本":提取PDF中所有文字。
适用:文字型PDF(非扫描件),排版简单。
限制:
- 提取出的文字没有结构(不知道哪个是标题、哪个是正文)
- 表格数据会被提取成混乱的文本
- 扫描件(图片型PDF)完全无法读取
方案2:OCR识别(针对扫描件)
截图PDF某页 → OCR识别截图 → 得到文字适用:扫描件、图片型PDF。
流程:
- 用Python或第三方工具将PDF每页转成图片
- 对每张图片用OCR提取文字
- 用正则从文字中提取结构化数据(发票号、金额、日期)
方案3:Python库处理(推荐进阶用户)
用影刀的"执行Python代码"指令,调用pdfplumber或PyPDF2库:
importpdfplumberwithpdfplumber.open("invoice.pdf")aspdf:page=pdf.pages[0]text=page.extract_text()tables=page.extract_tables()# 直接提取表格!pdfplumber能直接提取PDF中的表格数据,这是影刀内置指令做不到的。
TEMU店群矩阵自动化运营核价报活动
三、实战:发票信息自动提取
场景:每天收到几十份电子发票PDF,需要提取发票号、金额、日期、销售方。
1. 获取文件夹下所有PDF文件 2. ForEach pdf_file in pdf_list: 用pdfplumber打开PDF 提取文本 用正则匹配: 发票号:INV\d{10}  金额:¥[\d,]+\.\d{2} 日期:\d{4}年\d{2}月\d{2}日 将提取结果写入Excel 3. 生成汇总报表四、PDF处理的实用工具
- pdfplumber(Python库):提取文字和表格的利器
- Tabula:开源PDF表格提取工具
- ABBYY FineReader:商业OCR软件,识别准确率极高
- WPS/Office PDF转换:将PDF转Word后再处理
五、总结
PDF自动化分两步:先提取文字(用影刀指令或Python库),再从文字中结构化提取关键信息(用正则或文本处理)。扫描件需要额外加一层OCR。
下一篇讲CSV文件操作——比Excel更轻量的数据格式。
作者:林焱
影刀RPA深耕实践者,致力于让每个普通人都能学会自动化
