pdfplumber PDF 文本与表格提取
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/pdfplumber-python-pdf-text-table-extraction。
技能介绍
要解决什么问题
业务里常见的 PDF 往往不是「扫一眼」就够:对账、报表归档、合同条款比对,都需要把页面里的文字和表格变成可查询、可入库的结构化数据。纯 OCR 路线成本高,而很多发票、银行流水、系统导出的 PDF 其实是机器生成的矢量页——字符位置和表格线都在文件里,用对的库可以直接按几何关系还原表格,而不是猜格子。
技能在做什么
本技能指向开源库 pdfplumber(底层依赖 pdfminer.six)。它面向「从 PDF 里抠细节」这一件事:
- 文本:按字符/词块读取,并保留在页面上的坐标,便于和表格区域对齐。
- 表格:针对机器生成 PDF 做结构化提取,是库的主打场景。
- 版式元素:线条、矩形、曲线等对象也可遍历,用于理解分隔线、边框。
- 可视化调试:提取结果可以和页面几何对照,排查「列错位」「合并单元格被拆散」一类问题。
除 Python API 外还提供 CLI,适合在脚本流水线里对单个文件做快速探测。技能文档同步了上游 README 的用法要点,便于在 Agent 工作流里按同一套 API 生成解析代码。
适用边界
- 扫描件、拍照 PDF 没有可靠文字层时,pdfplumber 不能替代 OCR;应先用 OCR 再处理文本层。
- 复杂排版、手写标注、强依赖视觉设计的宣传册,表格识别可能不稳定。
- 上游声明支持 Python 3.10~3.14;环境与 pdfminer 系列依赖冲突时需按项目要求隔离虚拟环境。
使用场景
- 从银行或 ERP 导出的矢量 PDF 报表中批量抽取表头与数据行,写入 CSV 供对账脚本使用
- 在发票、合同附件 PDF 里按坐标抓取条款段落,并与表格区域对齐做字段映射
- 用 CLI 或短脚本对可疑 PDF 做探测,确认是否存在可解析文字层再决定是否走 OCR
- 解析失败时对照可视化调试结果,排查列边界、合并单元格被错误切分的问题
适合人员
- 每月处理大量系统导出 PDF、要把表格落库或进数据仓库的财务/运营分析
- 写 ETL 或 RPA 流程、需要在 Python 里稳定读取机器生成 PDF 表格的后端工程师
- 做法务或合规归档、要从合同 PDF 结构化抽取条款与表格字段的法务运营
- 维护文档解析服务、要在 pdfminer 生态里选型并快速对接 API 的数据工程师