
图片型 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、不需要装模型、不需要折腾环境,直接调云端服务。
pip install mineru-open-sdk就这一行,没有 PyTorch、没有 CUDA、没有模型权重下载。
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/token 免费申请,支持最大 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"] 参数指定即可。
不想写 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 扫描件.pdfMarkdown 结果直接输出到 stdout,免 Token。
mineru-open-api extract --list files.txt -o ./results/CLI 的 stdout 设计对自动化很友好,可以直接管道给下游工具:
mineru-open-api extract paper.pdf | some-llm-toolPython SDK | CLI | |
|---|---|---|
适合谁 | Python 开发者、需要在代码中集成 | Shell 脚本、CI/CD、不想写代码 |
安装 |
| 一行 curl/irm |
免Token使用 |
|
|
批量能力 |
|
|
输出格式 | MD / DOCX / HTML / LaTeX / JSON | MD / DOCX / HTML / LaTeX / JSON |
编程集成 | 原生 Python 对象, | stdout 文本流,管道友好 |
云端方案(SDK / CLI)适合大多数场景:零 GPU、零环境配置,免费的 flash 模式就能覆盖日常需求。精准模式处理大文件、多格式输出也免费。
本地部署(pip install magic-pdf[full])适合数据不能出内网的场景:完全离线运行,但需要 GPU(推荐 8GB+ 显存)和比较折腾的环境配置。
对于题主说的「批量跑图片型 PDF 转 Markdown」,Python SDK 的 flash_extract 就够了——装个包、写几行代码、不用管 GPU 的事。
相关链接
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。