你有没有想过:面对一堆合同、发票、论文、报表 PDF,能不能让 AI 把它们「读」成结构化数据,直接进表格或数据库?2026 年,PDF 智能提取已经很成熟:你上传文件,AI 帮你抽字段、填表格、做摘要,告别复制粘贴。本教程手把手教你几种落地方式。
📄 本教程适合:经常被 PDF 折磨的行政、财务、法务、研究员。你只需一个会读文档的 AI(网页版或本地工具)。
先搞懂:PDF 提取的两条路
用一句话理解:一种是「你上传、AI 直接读」,一种是「先抽文字、再让 AI 整理」。前者最省事,后者更可控、可批量。
| 方式 | 怎么做 | 适合 |
|---|---|---|
| 网页 / 对话 AI 直接上传 | 把 PDF 拖进对话框,下指令 | 偶尔处理、单份文件 |
| 知识库 / 文档问答 | 批量建库后随问随答(如 Dify) | 经常查同一批资料 |
| Python 脚本批处理 | 抽文字 + 调大模型整理 | 大量、需进系统 |
敏感文档要小心:合同、病历、财报含隐私,优先用企业版或本地 / 私有模型,别往公开对话框里扔。
Step 1:单份文件,直接「对话式」提取
1 拖进去,下指令
最轻量的方式:把 PDF 上传到支持读文件的 AI,明确要求输出结构:
提示词示例:
「请从这份合同里提取以下字段,用 JSON 返回:
{
"甲方": "",
"乙方": "",
"合同金额": "",
"开始日期": "",
"结束日期": "",
"违约条款摘要": ""
}
只输出 JSON,不要解释。」
💡 让它「只输出 JSON」能省去你再清洗格式。拿到后直接粘进表格或数据库。
Step 2:多份同类型,建个「文档问答」
2 一次建库,反复问
如果你经常要查同一批资料(比如 100 份产品手册),用 Dify 这类工具建知识库更高效:
1. 新建知识库,把 PDF 批量拖进去
2. 等「处理中」变「已完成」
3. 在应用里问:「把所有产品的保修期列成表格」
→ AI 会跨文件检索并汇总
这就是 RAG(检索增强):AI 不是凭空编,而是「翻你上传的文件再答」,准确率远高于让它自己猜。
Step 3:要批量进系统?用 Python 自己写
3 抽文字 → 交给大模型整理
当文件成百上千、要自动进数据库时,写个小脚本最稳:
import pdfplumber
# 1) 先把 PDF 抽成纯文本
with pdfplumber.open("合同.pdf") as pdf:
text = "\n".join(page.extract_text() or "" for page in pdf.pages)
# 2) 把 text 交给大模型,要求输出上一步的 JSON
# (用任意兼容接口,附上 text 与字段要求)
🚀 `pdfplumber` 能把版面文字抽得很干净;表格密集的 PDF 可改用 `camelot` 专门抽表。
Step 4:核对提取结果,别全信
4 抽样检查,防漏字段
AI 偶尔会漏抽、串行或编造。入库前做三件事:
· 抽 3-5 份人工核对字段是否准确
· 检查有没有「字段串位」(把乙方的名填到甲方)
· 数字、日期务必回原文件确认
扫描件(图片 PDF)要先 OCR:纯图片的 PDF 抽不出文字,需先用 OCR 工具转成可搜索文本,再走上面的流程。
Step 5:固化成流水线,定期跑
5 新文件进来自动处理
把提取做成「收到文件 → 自动抽 → 落库 → 通知你」的流水线:
| 触发 | 动作 |
|---|---|
| 邮件 / 网盘收到新 PDF | 脚本抽文字 → 大模型整理 → 写数据库 |
| 定时批量目录 | 每晚扫一遍未处理文件,结果汇总成日报 |
🔑 铁律:自动化只负责「抽和整理」,关键字段留一道人工抽检,避免错数据悄悄进系统。
常见问题速查
| 现象 | 原因 & 解决 |
|---|---|
| 抽出来是乱码 / 空 | 图片型 PDF 未 OCR,先做文字识别 |
| 字段串位 | 让 AI 逐字段输出并回原文核对 |
| 表格对不齐 | 换 camelot 抽表,或贴截图让 AI 识别 |