| name | document-processor |
| description | Unified document processing suite - Convert documents to/from Markdown, PDF parsing with OCR, batch document conversion. Replaces markdown-converter, markdown-exporter, and mineru with integrated document workflow. Use for: PDF to Markdown, Word to Markdown, Markdown to PDF/DOCX/PPTX, document OCR, batch document conversion, academic paper parsing. |
Document Processor
统一文档处理套件 - 一站式文档转换、PDF解析、OCR识别和格式转换解决方案。
🎯 替代: markdown-converter + markdown-exporter + mineru
核心能力
| 功能模块 | 覆盖场景 |
|---|
| 文档导入 | PDF/Word/PPT/Excel → Markdown |
| 文档导出 | Markdown → PDF/DOCX/PPTX/Excel/HTML |
| PDF解析 | 学术论文、扫描件、复杂版面OCR |
| 批量处理 | 目录级文档批量转换 |
| 智能提取 | 表格、公式、图片结构化提取 |
快速开始
1. 文档转Markdown (Import)
docp import paper.pdf -o paper.md
docp import report.docx -o report.md
docp import slides.pptx -o slides.md
docp import data.xlsx -o data.md
docp import ./papers/*.pdf --output-dir ./markdown/
2. Markdown转文档 (Export)
docp export report.md -o report.pdf
docp export report.md -o report.docx
docp export slides.md -o slides.pptx
docp export tables.md -o data.xlsx
docp export page.md -o page.html
3. PDF高级解析 (Academic OCR)
docp parse paper.pdf -o paper.md --formula --table
docp parse scanned.pdf -o output.md --ocr --lang ch+en
docp parse document.pdf --extract-images --output-dir ./images/
docp parse ./papers/*.pdf --output-dir ./parsed/ --batch
命令详解
docp import - 导入到Markdown
docp import <input> [options]
Options:
-o, --output <file> 输出文件路径
--output-dir <dir> 批量输出目录
--format <format> 输出格式: md, txt, json
--extract-images 提取图片到指定目录
--image-dir <dir> 图片输出目录
--preserve-layout 保留原始版面结构
支持格式:
| 输入格式 | 扩展名 | 特点 |
|---|
| PDF | .pdf | 支持扫描件OCR |
| Word | .docx, .doc | 保留标题层级 |
| PowerPoint | .pptx, .ppt | 每页一个章节 |
| Excel | .xlsx, .xls | 表格转Markdown表格 |
| HTML | .html, .htm | 清理标签 |
| 图片 | .jpg, .png | OCR识别 |
| EPub | .epub | 电子书解析 |
| 压缩包 | .zip | 批量解压处理 |
示例:
docp import paper.pdf -o paper.md --formula
docp import ./docs/*.docx --output-dir ./markdown/
docp import https://example.com/doc.pdf -o doc.md
docp export - 从Markdown导出
docp export <input.md> [options]
Options:
-o, --output <file> 输出文件
--format <format> 目标格式: pdf, docx, pptx, xlsx, html, png
--template <file> 使用模板文件
--theme <theme> 主题: default, academic, business
--toc 生成目录
--numbered 章节编号
导出格式矩阵:
| 目标格式 | 用途 | 特殊选项 |
|---|
| PDF | 打印、分享 | --page-size a4, --margin 2cm |
| DOCX | 编辑、协作 | --template template.docx |
| PPTX | 演示 | --slide-level 2 |
| XLSX | 表格数据 | --sheet-per-table |
| HTML | 网页发布 | --css style.css, --standalone |
| PNG | 图片预览 | --dpi 300, --full-page |
示例:
docp export thesis.md -o thesis.pdf --theme academic --toc --numbered
docp export report.md -o report.docx --template company_template.docx
docp export presentation.md -o slides.pptx --slide-level 2
docp export tables.md -o data.xlsx --sheet-per-table
docp export ./markdown/*.md --output-dir ./pdf/ --format pdf
docp parse - PDF高级解析
docp parse <input.pdf> [options]
Options:
-o, --output <file> 输出Markdown文件
--formula 启用公式识别 (LaTeX输出)
--table 启用表格结构识别
--ocr 强制OCR模式 (扫描件)
--lang <lang> OCR语言: ch, en, ch+en, jp
--layout-model <model> 版面分析模型: fast, accurate
--extract-images 提取内嵌图片
--image-dir <dir> 图片保存目录
--batch 批量处理模式
--output-dir <dir> 批量输出目录
--timeout <seconds> 单文件超时时间
版面分析模型:
| 模型 | 速度 | 准确度 | 适用场景 |
|---|
| fast | ⚡ 快 | 高 | 常规文档 |
| accurate | 🐢 慢 | 最高 | 复杂版面、学术论文 |
示例:
docp parse paper.pdf -o paper.md --formula --table --extract-images --image-dir ./paper_images/
docp parse scan.pdf -o text.md --ocr --lang ch
docp parse ./arxiv/*.pdf --output-dir ./parsed/ --batch --formula --table
docp parse report.pdf --extract-tables -o tables.json
docp batch - 批量处理工作流
docp batch --config workflow.yaml
workflow.yaml 示例:
workflow:
name: 论文处理流水线
input:
pattern: "./papers/**/*.pdf"
steps:
- name: parse
action: parse
options:
formula: true
table: true
extract_images: true
- name: translate
action: translate
target_lang: zh
- name: export
action: export
format: docx
template: "./templates/academic.docx"
output:
dir: "./output/"
naming: "{original}_processed"
Python API
from document_processor import DocumentProcessor
docp = DocumentProcessor()
md_content = docp.import_document("paper.pdf", formula=True, table=True)
print(md_content.text)
docp.export_document("report.md", "report.pdf", theme="academic", toc=True)
result = docp.parse_pdf("scanned.pdf", ocr=True, lang="ch+en")
print(result.markdown)
print(result.tables)
print(result.images)
results = docp.batch_process(
pattern="./papers/*.pdf",
action="parse",
output_dir="./parsed/",
options={"formula": True, "table": True}
)
特殊功能
学术论文处理
docp arxiv 2410.17247 -o paper.md --formula --table
docp import https://arxiv.org/pdf/2410.17247.pdf -o paper.md
docp paper paper.pdf --template note --output note.md
代码块提取
docp extract-code input.md --output-dir ./code/
docp extract-code input.md --group-by-language --output-dir ./code/
文档对比
docp diff doc1.pdf doc2.pdf -o diff.md
docp diff version1.md version2.md --report detailed -o report.html
与原有Skill的兼容
| 原Skill | 原命令 | 新命令 | 状态 |
|---|
| markdown-converter | uvx markitdown input.pdf | docp import input.pdf | ✅ 替代 |
| markdown-exporter | md_to_pdf input.md output.pdf | docp export input.md -o output.pdf | ✅ 替代 |
| markdown-exporter | md_to_docx input.md output.docx | docp export input.md -o output.docx | ✅ 替代 |
| markdown-exporter | md_to_xlsx input.md output.xlsx | docp export input.md -o output.xlsx | ✅ 替代 |
| mineru | MinerU API调用 | docp parse input.pdf | ✅ 替代 |
依赖安装
pip install markitdown markdown-exporter
pip install pdfplumber pymupdf
pip install paddleocr paddlepaddle
pip install -r requirements.txt
性能对比
| 方案 | 外部API | 本地处理 | 月度成本 |
|---|
| markdown-converter | markitdown | ✅ | 免费 |
| markdown-exporter | 部分需API | 混合 | 部分收费 |
| mineru | MinerU API | ❌ | API费用 |
| document-processor | 无 | ✅ 完全本地 | 完全免费 |
状态: ✅ 生产就绪
自建替代计数: +3 (markdown-converter, markdown-exporter, mineru)