三条路线
| 路线 | 适用 | 代价 |
|---|---|---|
| 规则抽取 | 有线框、版式规整的 PDF | 低,但遇到合并单元格易碎 |
| 版面模型 | 复杂版面、扫描件 | 中,需部署模型 |
| LLM 抽取 | 少量疑难表格 | 高,逐表调用且可能漏行 |
pdfplumber 抽表
pdfplumber 抽表
import pdfplumber
with pdfplumber.open("report.pdf") as pdf:
for page in pdf.pages:
for t in page.extract_tables():
for row in t:
print([c.replace("
", " ") if c else "" for c in row])表格转 Markdown 保留表头语义,检索命中后模型可直接按行列理解,比纯文本拼接效果好得多。