MinerU 生态实战_图片型PDF批量转Markdown

0 阅读3分钟

mineru_cloud_batch_cover 图片型 PDF 没有文本层,pdfplumber 之类的文本提取工具拿它完全没辙。要把扫描件、截图型 PDF 转成 Markdown,必须走 OCR pipeline。MinerU 在这方面效果很好,版面分析、公式识别、表格结构化都能处理,但本地部署门槛不低——GPU、几个 G 的模型文件、CUDA 和 PyTorch 版本对齐,光配环境就可能折腾半天。

好消息是 MinerU 现在开放了完整的开发者生态(mineru.net/ecosystem),涵盖 Python / Go / TypeScript SDK、CLI、LangChain / LlamaIndex 集成、MCP 等大量接入方式。本文针对题主的需求,重点介绍最实用的两条路:Python SDK 和 CLI——不需要 GPU、不需要装模型、不需要折腾环境,直接调云端服务。


方案一:Python SDK(写 Python 的首选)

安装

pip install mineru-open-sdk

就这一行,没有 PyTorch、没有 CUDA、没有模型权重下载。

最简示例:3 行代码解析一个 PDF

from mineru import MinerU

client = MinerU()
result = client.flash_extract("扫描件.pdf")
print(result.markdown)

flash_extract 是免登录、免 Token 的轻量模式,拿来就能用。公式和表格识别默认开启,单文件最大 10MB / 20 页,日常够用。

批量处理:题主要的「能批量跑」

import os
from mineru import MinerU

client = MinerU()
pdf_dir = "/path/to/pdfs"

for fname in os.listdir(pdf_dir):
    if fname.endswith(".pdf"):
        pdf_path = os.path.join(pdf_dir, fname)
        result = client.flash_extract(pdf_path)

        out_path = os.path.join(pdf_dir, fname.replace(".pdf", ".md"))
        result.save_markdown(out_path)
        print(f"完成: {fname}")

如果文件多或者单个文件大,可以切换到精准模式。Token 在 mineru.net/apiManage/t… 免费申请,支持最大 200MB / 200 页:

from mineru import MinerU

client = MinerU("your-api-token")

# 批量提交,边处理边返回
for result in client.extract_batch(["a.pdf", "b.pdf", "c.pdf"]):
    result.save_all(f"./output/{result.filename}/")
    print(f"{result.filename}: 完成")

精准模式还能输出 DOCX、HTML、LaTeX,用 extra_formats=["docx", "html"] 参数指定即可。


方案二:CLI 命令行工具

不想写 Python 代码的话,CLI 工具更直接。

安装

# Linux / macOS
curl -fsSL https://cdn-mineru.openxlab.org.cn/open-api-cli/install.sh | sh

# Windows (PowerShell)
irm https://cdn-mineru.openxlab.org.cn/open-api-cli/install.ps1 | iex

零依赖,单二进制文件,不需要任何运行时。

单文件解析

mineru-open-api flash-extract 扫描件.pdf

Markdown 结果直接输出到 stdout,免 Token。

批量处理

mineru-open-api extract --list files.txt -o ./results/

CLI 的 stdout 设计对自动化很友好,可以直接管道给下游工具:

mineru-open-api extract paper.pdf | some-llm-tool

两种方案快速对比

Python SDKCLI
适合谁Python 开发者、需要在代码中集成Shell 脚本、CI/CD、不想写代码
安装pip install mineru-open-sdk一行 curl/irm
免Token使用flash_extract()flash-extract 命令
批量能力extract_batch() 迭代器--list 或通配符
输出格式MD / DOCX / HTML / LaTeX / JSONMD / DOCX / HTML / LaTeX / JSON
编程集成原生 Python 对象,.markdown .images 直接用stdout 文本流,管道友好

和本地部署怎么选

云端方案(SDK / CLI)适合大多数场景:零 GPU、零环境配置,免费的 flash 模式就能覆盖日常需求。精准模式处理大文件、多格式输出也免费。

本地部署pip install magic-pdf[full])适合数据不能出内网的场景:完全离线运行,但需要 GPU(推荐 8GB+ 显存)和比较折腾的环境配置。

对于题主说的「批量跑图片型 PDF 转 Markdown」,Python SDK 的 flash_extract 就够了——装个包、写几行代码、不用管 GPU 的事。


相关链接