欢迎回来

登录 EAKE AI,继续您的智能之旅

忘记密码?
还没有账号?立即注册

OCR 文档识别

OCR 文档识别

从 PDF/扫描件提取文本(pymupdf、marker-pdf)

PDF 与文档提取

DOCX 文件:使用 python-docx(解析实际文档结构,远优于 OCR)。

PPTX 文件:参见 powerpoint 技能(使用 python-pptx,完整支持幻灯片和备注)。

本技能涵盖 PDF 和扫描文档

第1步:是否有远程URL?

如果文档有 URL,优先使用 web_extract


web_extract(urls=["https://arxiv.org/pdf/2402.03300"])
web_extract(urls=["https://example.com/report.pdf"])

通过 Firecrawl 将 PDF 转为 Markdown,无需本地依赖。

仅以下情况使用本地提取:文件在本地、web_extract 失败、或需要批量处理。

第2步:选择本地提取工具

功能pymupdf (~25MB)marker-pdf (~3-5GB)
**文本型 PDF**
**扫描件 PDF (OCR)**✅(支持90+语言)
**表格**✅(基础)✅(高精度)
**公式 / LaTeX**
**代码块**
**表单**
**页眉页脚去除**
**阅读顺序检测**
**图片提取**✅(内嵌)✅(含上下文)
**图片转文字 (OCR)**
**EPUB**
**Markdown 输出**✅(通过 pymupdf4llm)✅(原生,质量更高)
**安装体积**~25MB~3-5GB(PyTorch + 模型)

决策:除非需要 OCR、公式、表单或复杂版面分析,否则使用 pymupdf。

如果用户需要 marker 的能力但系统剩余空间不足 ~5GB:

> "此文档需要 OCR/高级提取(marker-pdf),需要约 5GB 空间安装 PyTorch 和模型。您的系统还有 [X]GB 可用。可选方案:释放空间、提供 URL 让我使用 web_extract、或者我尝试用 pymupdf(适用于文本型 PDF,但不支持扫描件或公式)。"

---

pymupdf(轻量版)


pip install pymupdf pymupdf4llm

通过辅助脚本


python scripts/extract_pymupdf.py document.pdf              # 纯文本
python scripts/extract_pymupdf.py document.pdf --markdown    # Markdown
python scripts/extract_pymupdf.py document.pdf --tables      # 表格
python scripts/extract_pymupdf.py document.pdf --images out/ # 提取图片
python scripts/extract_pymupdf.py document.pdf --metadata    # 标题、作者、页数
python scripts/extract_pymupdf.py document.pdf --pages 0-4   # 指定页面

内联代码


python3 -c "
import pymupdf
doc = pymupdf.open('document.pdf')
for page in doc:
    print(page.get_text())
"

---

marker-pdf(高质量OCR)


# 先检查磁盘空间
python scripts/extract_marker.py --check

pip install marker-pdf

通过辅助脚本


python scripts/extract_marker.py document.pdf                # Markdown
python scripts/extract_marker.py document.pdf --json         # 带元数据的 JSON
python scripts/extract_marker.py document.pdf --output_dir out/  # 保存图片
python scripts/extract_marker.py scanned.pdf                 # 扫描件 PDF (OCR)
python scripts/extract_marker.py document.pdf --use_llm      # LLM 增强精度

CLI(随 marker-pdf 安装):


marker_single document.pdf --output_dir ./output
marker /path/to/folder --workers 4    # 批量处理

---

Arxiv 论文


# 仅摘要(速度快)
web_extract(urls=["https://arxiv.org/abs/2402.03300"])

# 全文
web_extract(urls=["https://arxiv.org/pdf/2402.03300"])

# 搜索
web_search(query="arxiv GRPO reinforcement learning 2026")

拆分、合并与搜索

pymupdf 原生支持这些操作——使用 execute_code 或内联 Python:


# 拆分:提取第1-5页生成新 PDF
import pymupdf
doc = pymupdf.open("report.pdf")
new = pymupdf.open()
for i in range(5):
    new.insert_pdf(doc, from_page=i, to_page=i)
new.save("pages_1-5.pdf")

# 合并多个 PDF
import pymupdf
result = pymupdf.open()
for path in ["a.pdf", "b.pdf", "c.pdf"]:
    result.insert_pdf(pymupdf.open(path))
result.save("merged.pdf")

# 在所有页面中搜索文本
import pymupdf
doc = pymupdf.open("report.pdf")
for i, page in enumerate(doc):
    results = page.search_for("revenue")
    if results:
        print(f"第{i+1}页:{len(results)} 处匹配")
        print(page.get_text("text"))

无需额外依赖——pymupdf 一个包即可完成拆分、合并、搜索和文本提取。

---

注意事项

  • 有 URL 时 web_extract 永远是首选
  • pymupdf 是安全的默认选择——即时、无需模型、任何环境都能用
  • marker-pdf 用于 OCR、扫描文档、公式、复杂版面——仅在需要时安装
  • 两个辅助脚本都支持 --help 查看完整用法
  • marker-pdf 首次使用会在 ~/.cache/huggingface/ 下载约 2.5GB 模型
  • Word 文档:使用 pip install python-docx(比 OCR 更好——解析实际文档结构)
  • PowerPoint:参见 powerpoint 技能(使用 python-pptx)
  • **速度**即时~1-14秒/页(CPU),~0.2秒/页(GPU)

    安装指南

    复制下方命令,在终端运行即可安装:

    # 安装到当前项目
    npx skills add ocr-and-documents
    # 全局安装 — 所有项目可用
    npx skills add ocr-and-documents -g

    使用指南

    安装完成后,在对话框中直接使用此技能。

    基本信息
    作者 Community 分类 efficiency 难度 Intermediate 时长 1 hour
    🛠️ 安装命令
    # 安装到当前项目
    npx skills add ocr-and-documents
    # 全局安装
    npx skills add ocr-and-documents -g

    发表评论