使用 MinerU API 将 PDF 内容提取为 Markdown,支持公式、表格、OCR,提供本地文件和在线 URL 两种解析方法。
MinerU PDF 提取器
功能概述
MinerU PDF 提取器是一项面向实际任务的技能,主要用于Extract PDF 文件, 使用 MinerU API 结构化的 Markdown;支持公式识别、 表格提取和 OCR;
核心要点
- 注 : 这是社区技能, 而不是外观。
- 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
使用与执行
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
结果检查与注意事项
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
MinerU PDF 提取器
使用 MinerU API 将 PDF 文档提取为结构化 Markdown。支持公式识别、表格提取和 OCR。
注意:本技能为社区维护,非 MinerU 官方产品。您需自行从 MinerU 获取 API 密钥。
📁 技能目录结构
mineru-pdf-extractor/
├── SKILL.md # 英文文档
├── SKILL_zh.md # 中文文档
├── docs/ # 文档
│ ├── Local_File_Parsing_Guide.md # 本地 PDF 解析详细指南(英文)
│ ├── Online_URL_Parsing_Guide.md # 在线 PDF 解析详细指南(英文)
│ ├── MinerU_本地文档解析完整流程.md # 本地解析完整流程(中文)
│ └── MinerU_在线文档解析完整流程.md # 在线解析完整流程(中文)
└── scripts/ # 可执行脚本
├── local_file_step1_apply_upload_url.sh # 本地解析第 1 步
├── local_file_step2_upload_file.sh # 本地解析第 2 步
├── local_file_step3_poll_result.sh # 本地解析第 3 步
├── local_file_step4_download.sh # 本地解析第 4 步
├── online_file_step1_submit_task.sh # 在线解析第 1 步
└── online_file_step2_poll_result.sh # 在线解析第 2 步
🔧 系统要求
必需的环境变量
脚本会自动从环境变量中读取 MinerU Token(任选其一):
# 方式 1:设置 MINERU_TOKEN export MINERU_TOKEN="your_api_token_here" # 方式 2:设置 MINERU_API_KEY export MINERU_API_KEY="your_api_token_here"
必需的命令行工具
curl— 用于发起 HTTP 请求(通常已预装)unzip— 用于解压结果文件(通常已预装)
可选工具
jq— 用于增强 JSON 解析与安全性(推荐但非必需)- 若未安装,脚本将自动降级使用备用方法
- 安装方式:
apt-get install jq(Debian/Ubuntu)或brew install jq(macOS)
可选配置
# 设置 API 基础 URL(默认已预配置) export MINERU_BASE_URL="https://mineru.net/api/v4"
💡 获取 Token:访问 https://mineru.net/apiManage/docs 注册并获取 API Key
📄 功能 1:解析本地 PDF 文档
适用于本地存储的 PDF 文件。共需 4 个步骤。
快速开始
cd scripts/ # 第 1 步:申请上传 URL ./local_file_step1_apply_upload_url.sh /path/to/your.pdf # 输出示例:BATCH_ID=xxx UPLOAD_URL=xxx # 第 2 步:上传文件 ./local_file_step2_upload_file.sh "$UPLOAD_URL" /path/to/your.pdf # 第 3 步:轮询结果状态 ./local_file_step3_poll_result.sh "$BATCH_ID" # 输出示例:FULL_ZIP_URL=xxx # 第 4 步:下载结果 ./local_file_step4_download.sh "$FULL_ZIP_URL" result.zip extracted/
脚本说明
local_file_step1_apply_upload_url.sh
申请上传 URL 并获取 batch_id。
用法:
./local_file_step1_apply_upload_url.sh[language] [layout_model]
参数说明:
language:语言选项,ch(中文)、en(英文)、auto(自动检测),默认为chlayout_model:版面分析模型,doclayout_yolo(速度快)、layoutlmv3(精度高),默认为doclayout_yolo
输出示例:
BATCH_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx UPLOAD_URL=https://mineru.oss-cn-shanghai.aliyuncs.com/...
local_file_step2_upload_file.sh
将 PDF 文件上传至预签名 URL。
用法:
./local_file_step2_upload_file.sh
local_file_step3_poll_result.sh
持续轮询提取任务状态,直至完成或失败。
用法:
./local_file_step3_poll_result.sh[max_retries] [retry_interval_seconds]
输出示例:
FULL_ZIP_URL=https://cdn-mineru.openxlab.org.cn/pdf/.../xxx.zip
local_file_step4_download.sh
下载结果 ZIP 包并解压。
用法:
./local_file_step4_download.sh[output_zip_filename] [extract_directory_name]
输出目录结构:
extracted/ ├── full.md # 📄 Markdown 文档(主结果) ├── images/ # 🖼️ 提取的图像 ├── content_list.json # 结构化内容 └── layout.json # 版面分析数据
详细文档
📚 完整指南:参见 docs/Local_File_Parsing_Guide.md
🌐 功能 2:解析在线 PDF 文档(URL 方式)
适用于已发布于网络的 PDF 文件(如 arXiv、网站等)。仅需 2 步,更简洁高效。
快速开始
cd scripts/ # 第 1 步:提交解析任务(直接提供 URL) ./online_file_step1_submit_task.sh "https://arxiv.org/pdf/2410.17247.pdf" # 输出示例:TASK_ID=xxx # 第 2 步:轮询结果并自动下载/解压 ./online_file_step2_poll_result.sh "$TASK_ID" extracted/
脚本说明
online_file_step1_submit_task.sh
为在线 PDF 提交解析任务。
用法:
./online_file_step1_submit_task.sh[language] [layout_model]
参数说明:
pdf_url:在线 PDF 的完整 URL(必填)language:语言选项,ch(中文)、en(英文)、auto(自动检测),默认为chlayout_model:版面分析模型,doclayout_yolo(速度快)、layoutlmv3(精度高),默认为doclayout_yolo
输出示例:
TASK_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
online_file_step2_poll_result.sh
轮询提取结果,并在完成后自动下载与解压。
用法:
./online_file_step2_poll_result.sh[output_directory] [max_retries] [retry_interval_seconds]
输出目录结构:
extracted/ ├── full.md # 📄 Markdown 文档(主结果) ├── images/ # 🖼️ 提取的图像 ├── content_list.json # 结构化内容 └── layout.json # 版面分析数据
详细文档
📚 完整指南:参见 docs/Online_URL_Parsing_Guide.md
📊 两种解析方式对比
| 特性 | 本地 PDF 解析 | 在线 PDF 解析 |
|---|---|---|
| 步骤数 | 4 步 | 2 步 |
| 是否需要上传 | ✅ 是 | ❌ 否 |
| 平均耗时 | 30–60 秒 | 10–20 秒 |
| 适用场景 | 本地文件 | 已在线发布的文件(arXiv、网站等) |
| 文件大小限制 | 200MB | 受源服务器限制 |
⚙️ 高级用法
批量处理本地文件
for pdf in /path/to/pdfs/*.pdf; do
echo "Processing: $pdf"
# 第 1 步
result=$(./local_file_step1_apply_upload_url.sh "$pdf" 2>&1)
batch_id=$(echo "$result" | grep BATCH_ID | cut -d= -f2)
upload_url=$(echo "$result" | grep UPLOAD_URL | cut -d= -f2)
# 第 2 步
./local_file_step2_upload_file.sh "$upload_url" "$pdf"
# 第 3 步
zip_url=$(./local_file_step3_poll_result.sh "$batch_id" | grep FULL_ZIP_URL | cut -d= -f2)
# 第 4 步
filename=$(basename "$pdf" .pdf)
./local_file_step4_download.sh "$zip_url" "${filename}.zip" "${filename}_extracted"
done
批量处理在线文件
for url in
"https://arxiv.org/pdf/2410.17247.pdf"
"https://arxiv.org/pdf/2409.12345.pdf"; do
echo "Processing: $url"
# 第 1 步
result=$(./online_file_step1_submit_task.sh "$url" 2>&1)
task_id=$(echo "$result" | grep TASK_ID | cut -d= -f2)
# 第 2 步
filename=$(basename "$url" .pdf)
./online_file_step2_poll_result.sh "$task_id" "${filename}_extracted"
done
⚠️ 注意事项
- Token 配置:脚本优先读取
MINERU_TOKEN,未设置时回退至MINERU_API_KEY - Token 安全性:请勿在脚本中硬编码 Token;应始终通过环境变量传入
- URL 可访问性:在线解析时,请确保提供的 URL 可被公网访问
- 文件限制:单个文件建议不超过 200MB,最大页数建议不超过 600 页
- 网络稳定性:上传大文件时请确保网络连接稳定
- 安全性:本技能内置输入校验与清洗机制,可防范 JSON 注入及路径遍历攻击
- 可选 jq 工具:安装
jq可提升 JSON 解析能力,并启用额外安全检查
📚 参考文档
| 文档 | 说明 |
|---|---|
docs/Local_File_Parsing_Guide.md |
本地 PDF 解析的详细 curl 命令与参数说明 |
docs/Online_URL_Parsing_Guide.md |
在线 PDF 解析的详细 curl 命令与参数说明 |
外部资源:
- 🏠 MinerU 官网:https://mineru.net/
- 📖 API 文档:https://mineru.net/apiManage/docs
- 💻 GitHub 仓库:https://github.com/opendatalab/MinerU
技能版本:1.0.0
发布日期:2026-02-18
社区技能 — 与 MinerU 官方无关联
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.5万人学习
共6课时 | 54.7万人学习
