mcpField
M
markdown-tools

markdown-tools

github.com/daymade文档处理1.5k169 次安装今天更新
代码仓库

关于 markdown-tools

markdown-tools 是用于将 PDF、DOCX、PPTX 和 XLSX 转换为 Markdown 的文档处理 skill,面向需要提取文档结构的工作流。它提供快速单工具模式,以及并行运行多个工具并按片段合并结果的模式。

主要功能

  1. 01支持 PDF、DOCX、PPTX 和 XLSX
  2. 02快速与多工具重型模式
  3. 03并行转换并按片段合并
  4. 04提取 PDF 图像及元数据
  5. 05校验文本、表格和图像保留

适用场景

  1. 01将办公文档转换为 Markdown
  2. 02通过多工具输出改善复杂文档转换
  3. 03提取 PDF 图像并生成引用
  4. 04检查转换结果的内容保留率

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/daymade/claude-code-skills --skill markdown-tools

安装后在 Claude Code 中输入/markdown-tools确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
conversion-examples.md
heavy-mode-guide.md
tool-comparison.md
scripts/
convert.py
convert_path.py
extract_pdf_images.py
merge_outputs.py
validate_output.py

详细介绍

Markdown 工具

通过智能多工具编排,将文档转换为高质量 Markdown。

双模式架构

模式速度质量使用场景
Quick(默认)快良好草稿、简单文档
Heavy较慢最佳最终文档、复杂版式

快速开始

安装
# Required: PDF/DOCX/PPTX support
uv tool install "markitdown[pdf]"
pip install pymupdf4llm
brew install pandoc
基本转换
# Quick Mode (default) - fast, single best tool
uv run --with pymupdf4llm --with markitdown scripts/convert.py document.pdf -o output.md

# Heavy Mode - multi-tool parallel execution with merge
uv run --with pymupdf4llm --with markitdown scripts/convert.py document.pdf -o output.md --heavy

# Check available tools
uv run scripts/convert.py --list-tools

工具选择矩阵

格式Quick 模式工具Heavy 模式工具
PDFpymupdf4llmpymupdf4llm + markitdown
DOCXpandocpandoc + markitdown
PPTXmarkitdownmarkitdown + pandoc
XLSXmarkitdownmarkitdown
工具特性
  • pymupdf4llm:针对大模型优化的 PDF 转换工具,支持原生表格检测和图像提取
  • markitdown:Microsoft 的通用转换工具,适用于 Office 格式
  • pandoc:出色地保留 DOCX/PPTX 的结构

Heavy 模式工作流

Heavy 模式会并行运行多个工具,并选择最佳片段:

  1. 并行执行:同时运行所有适用的工具
  2. 片段分析:将每个输出解析为片段(表格、标题、图像、段落)
  3. 质量评分:根据完整性和结构为每个片段评分
  4. 智能合并:从各工具的输出中为每个片段选择最佳版本
合并标准
片段类型选择标准
表格行列更多,包含正确的表头分隔符
图像存在替代文本,优先使用本地路径
标题层级正确,长度合适
列表项目更多,保留嵌套结构
段落内容完整性

图像提取

# Extract images with metadata
uv run --with pymupdf scripts/extract_pdf_images.py document.pdf -o ./assets

# Generate markdown references file
uv run --with pymupdf scripts/extract_pdf_images.py document.pdf --markdown refs.md

输出:

  • 图像:assets/img_page1_1.png、assets/img_page2_1.jpg
  • 元数据:assets/images_metadata.json(页面、位置、尺寸)

质量验证

# Validate conversion quality
uv run --with pymupdf scripts/validate_output.py document.pdf output.md

# Generate HTML report
uv run --with pymupdf scripts/validate_output.py document.pdf output.md --report report.html
质量指标
指标通过警告失败
文本保留率>95%85-95%<85%
表格保留率100%90-99%<90%
图像保留率100%80-99%<80%

手动合并输出

# Merge multiple markdown files
python scripts/merge_outputs.py output1.md output2.md -o merged.md

# Show segment attribution
python scripts/merge_outputs.py output1.md output2.md -o merged.md --verbose

路径转换(Windows/WSL)

# Windows → WSL conversion
python scripts/convert_path.py "C:\Users\name\Documents\file.pdf"
# Output: /mnt/c/Users/name/Documents/file.pdf

常见问题

“没有可用的转换工具”

# Install all tools
pip install pymupdf4llm
uv tool install "markitdown[pdf]"
brew install pandoc

PDF 转换期间出现 FontBBox 警告

  • 无害的字体解析警告,输出仍然正确

输出中缺少图像

  • 使用 Heavy 模式以更好地保留图像
  • 或使用 scripts/extract_pdf_images.py 单独提取

输出中的表格损坏

  • 使用 Heavy 模式——它会选择最完整的表格版本
  • 或使用 scripts/validate_output.py 进行验证

捆绑脚本

脚本用途
convert.py支持 Quick/Heavy 模式的主编排器
merge_outputs.py合并多个 Markdown 输出
validate_output.py使用 HTML 报告进行质量验证
extract_pdf_images.py提取 PDF 图像并生成元数据
convert_path.pyWindows 到 WSL 的路径转换器

参考资料

  • references/heavy-mode-guide.md - Heavy 模式详细文档
  • references/tool-comparison.md - 工具功能对比
  • references/conversion-examples.md - 批量操作示例

评论

支持 Markdown