mcpField
E
extracting-pdf-text

extracting-pdf-text

github.com/letta-ai文档处理152257 次安装4 周前更新
代码仓库

关于 extracting-pdf-text

这项技能可将 PDF 内容提取为适合 LLM 工作流的格式,并针对文本、表格、扫描件和复杂版式选用不同方法。它提供本地脚本,也支持 Mistral OCR API。

主要功能

  1. 01使用 PyMuPDF 提取文本
  2. 02使用 pdfplumber 转换表格
  3. 03在本地对扫描 PDF 做 OCR
  4. 04使用 Mistral OCR API 提取复杂版式
  5. 05生成适用于 LLM 工作流的 Markdown

适用场景

  1. 01提取普通 PDF 中的文本
  2. 02将 PDF 表格转换为 Markdown
  3. 03无需 API 处理扫描文档
  4. 04为 RAG 准备 PDF 内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/letta-ai/skills --skill extracting-pdf-text

安装后在 Claude Code 中输入/extracting-pdf-text确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
api-services.md
local-tools.md
scripts/
extract_mistral_ocr.py
extract_pdfplumber.py
extract_pymupdf.py
extract_with_ocr.py

详细介绍

为大模型提取 PDF 文本

此技能提供用于从 PDF 中提取文本的工具和指导,输出格式适合大模型使用。

快速决策指南

PDF 类型最佳方法脚本
简单文本 PDFPyMuPDFscripts/extract_pymupdf.py
含表格的 PDFpdfplumberscripts/extract_pdfplumber.py
扫描件/图像 PDF(本地)pytesseractscripts/extract_with_ocr.py
复杂版式、最高准确度Mistral OCR APIscripts/extract_mistral_ocr.py
端到端 RAG 管道marker-pdfpip install marker-pdf

推荐工作流

  1. 先尝试 PyMuPDF - 速度最快,能很好地处理大多数基于文本的 PDF
  2. 如果表格格式错乱 - 改用 pdfplumber
  3. 如果是扫描件/图像 PDF - 使用 Mistral OCR API(准确度最高)或本地 OCR(免费但较慢)

本地提取(无需 API)

PyMuPDF - 快速通用提取

适用于:以文本为主的 PDF、对速度要求较高的工作流、需要保留基本结构的场景。

uv run scripts/extract_pymupdf.py input.pdf output.md

该脚本会输出保留标题和段落的 Markdown。若要获得针对大模型优化的输出,它会使用 pymupdf4llm,以便为 RAG 系统格式化文本。

pdfplumber - 表格提取

适用于:含表格的 PDF、财务文档、结构化数据。

uv run scripts/extract_pdfplumber.py input.pdf output.md

表格会转换为 Markdown 格式。注意:pdfplumber 最适合处理机器生成的 PDF,不适合扫描文档。

本地 OCR - 扫描文档

适用于:无法使用 API 时处理扫描 PDF。

uv run scripts/extract_with_ocr.py input.pdf output.txt

需要安装:pytesseract、pdf2image 和 Tesseract(在 macOS 上运行 brew install tesseract)。

基于 API 的提取

Mistral OCR API

适用于:复杂版式、扫描文档、最高准确度、多语言内容、数学公式。

定价:每美元约 1000 页(性价比很高)

export MISTRAL_API_KEY="your-key"
uv run scripts/extract_mistral_ocr.py input.pdf output.md

功能:

  • 输出清晰的 Markdown
  • 保留文档结构(标题、列表、表格)
  • 支持图像、数学公式和多语言文本
  • 处理复杂文档时准确度超过 95%

有关详细的 API 选项和其他服务,请参阅 references/api-services.md。

输出格式建议

供大模型使用时,建议采用 Markdown:

  • 保留语义结构(标题可作为上下文边界)
  • 表格仍然易于阅读
  • 兼容大多数 RAG 分块策略

有关本地工具的详细比较,请参阅 references/local-tools.md。

评论

支持 Markdown