360 Secure SkillHub
360 安全技能中心

Microsoft MarkItDown

提供 markitdown 的命令行与 Python API 用法,支持把 PDF、Word、PowerPoint、Excel、图片、音频、HTML、EPub 及 YouTube 视频转换为 Markdown,涵盖 OCR、语音转写、MCP 服务器安装说明、故障排查,并附调用脚本与冒烟测试。

lanyasheng
lanyasheng
热度 44.58
最近更新 2026-05-11 17:42:16
分类:效率依赖:代码执行 / 读写文件应用场景:文件转换 / 数据处理 / 摘要总结 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add ms-markitdown
Metadata
name
markitdown
description
Convert various document formats (PDF, Word, PowerPoint, Excel, images, audio, HTML, etc.) to Markdown using Microsoft's markitdown tool. Supports OCR, audio transcription, and YouTube video extraction.
triggers
["convert pdf to markdown","convert word to markdown","convert document","extract text from pdf","ocr image","transcribe audio","markitdown","文档转markdown","pdf转文本"]

MarkItDown

Microsoft's lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.

Installation

Prerequisites

  • Python 3.10+
  • Java 11+ (for some converters)

Install via pipx (recommended)

pipx install 'markitdown[all]'

Install via pip

pip install 'markitdown[all]'

Minimal install (specific formats only)

pip install 'markitdown[pdf,docx,pptx]'

Supported Formats

Format Extension Notes
PDF .pdf Preserves structure, tables, links
Word .docx Headings, lists, tables
PowerPoint .pptx Slides to Markdown
Excel .xlsx, .xls Table data
Images .png, .jpg, etc. EXIF metadata + OCR
Audio .wav, .mp3 Speech transcription
HTML .html, .htm Web content
YouTube URL Video transcription
ZIP .zip Iterates over contents
EPub .epub E-books
Text .csv, .json, .xml Text-based formats

CLI Usage

Basic Conversion

# PDF to Markdown
markitdown document.pdf > output.md

# Word to Markdown
markitdown document.docx -o output.md

# PowerPoint to Markdown
markitdown presentation.pptx -o output.md

Pipe Input

cat document.pdf | markitdown

Image OCR

markitdown screenshot.png -o text.md

YouTube Video

markitdown "https://youtube.com/watch?v=..." -o transcript.md

Python API Usage

from markitdown import MarkItDown

# Initialize
md = MarkItDown()

# Convert file
result = md.convert("document.pdf")
print(result.text_content)

# Convert from stream
with open("document.pdf", "rb") as f:
    result = md.convert_stream(f)
    print(result.text_content)

Options

Option Description Example
-o, --output Output file -o output.md
--format Output format (default: markdown) --format json
--pages Specific pages --pages "1,3,5-7"
--image-output Image handling --image-output external
--quiet Suppress output --quiet

MCP Server

MarkItDown provides an MCP (Model Context Protocol) server for integration with LLM applications:

pip install markitdown-mcp

Best Practices

  1. Batch processing: Process multiple files in one call for efficiency
  2. Format selection: Use minimal install if only specific formats needed
  3. OCR quality: Ensure 300 DPI+ for scanned documents
  4. Output review: Always verify Markdown output for complex documents

Troubleshooting

Java not found

Install Java 11+:

# macOS
brew install openjdk@17

# Ubuntu
sudo apt install openjdk-17-jdk

Permission denied

Use pipx or virtual environment:

python3 -m venv ~/.venvs/markitdown
source ~/.venvs/markitdown/bin/activate
pip install 'markitdown[all]'

References