PDF 文本提取 是做什么的?
当工作流需要对数字 PDF 进行总结、分类或结构化提取前获取机器可读文本时,请使用此技能。该辅助工具优先使用纯 Python PDF 库,并包含一个基于行的简单表格检测器,便于下游清理。
何时调用
- 用户说:“从该 PDF 中提取文本”、“将 PDF 供给 AI”、“从该报告中提取表格”、“读取此对账单”。
- 该 PDF 包含可选文本,无需 OCR。
何时不调用
- PDF 是扫描图像;请改用 OCR 工作流。
- 用户需要精确的像素级表格重建(含合并单元格与布局保真度)。
具体示例
用户输入:
从该 PDF 中提取文本和粗略表格,以便 Gemini 进行总结。
输出:
# 将 assets/extract.py 复制到项目中,然后:
from extract import extract_pdf
doc = extract_pdf("downloads/report.pdf")
print(doc["text"][:2000])
for table in doc["tables"]:
print(table["page"], table["rows"][:3])
在目标项目中安装 pypdf 或 pdfminer.six。无需 OCR 二进制文件,当 PDF 无可用文本时,辅助工具会清晰报错。
要应用的模式
- 优先使用数字文本提取;除非源文件是扫描件,否则不要添加 OCR。
- 保留页面边界,以便下游提示可引用页码。
- 保持表格提取简单:按制表符或重复空格分割行,然后让后续的模式清洗步骤对列进行规范化。
- 当 PDF 较长时,按页/范围限制发送给 LLM 的文本量。
- 未找到文本时主动报错,而不是向下游发送空提示。
参考:assets/extract.py。
来源
提炼自作者自动化项目的生产实践。v1.0.0。 另见:[[gemini-structured-output]]、[[csv-report-writer]]、[[s3-uploader]]。
→ 使用 Trawlkit 构建完整的可运行机器人。