文档整理技能 (convert-markdown)

Polar Sponsor
爱发电 赞助
.NET 9.0

基于 MarkItDown 实现 PDF、Word、PPT、Excel、图片、音频等文件批量转 Markdown,适用于文档数字化、知识库构建、内容提取等场景。

文档转换技能 (convert-markdown)

功能概述

文档转换技能 (convert-markdown)是一项面向实际任务的技能,主要用于MarkItDown 是 Microsoft 开发的多功能文档转换工具,能够将各种文件格式高质量转换为 Markdown 格式;本技能提供完整的文档处理工作流,包括:;

核心要点

  • 多格式支持 :PDF、DOCX、PPTX、XLSX、图片、音频、HTML、CSV、JSON、ZIP、EPub、YouTube URLs 等;
  • 结构化保留 :保持标题、列。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

文档转换技能 (convert-markdown)

概述

MarkItDown 是 Microsoft 开发的多功能文档转换工具,能够将各种文件格式高质量转换为 Markdown 格式。本技能提供完整的文档处理工作流,包括:

  • 多格式支持:PDF、DOCX、PPTX、XLSX、图片、音频、HTML、CSV、JSON、ZIP、EPub、YouTube URLs 等
  • 结构化保留:保持标题、列表、表格、链接等重要文档结构
  • 批量处理:支持目录递归处理和批量转换
  • OCR 能力:图片和扫描 PDF 的文本识别
  • 音频转录:音频文件的语音转文本
  • 可扩展性:可选依赖组按需安装,适配不同需求场景

快速开始

1. 环境准备

确保已安装 Python 3.10 或更高版本。建议使用虚拟环境:

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
# Windows:
.venvScriptsactivate
# Linux/Mac:
source .venv/bin/activate

2. 安装 MarkItDown

# 安装完整功能(推荐)
pip install 'markitdown[all]'

# 或按需安装特定格式支持
pip install 'markitdown[pdf,docx,pptx]'

可选依赖组说明:

  • [all] - 所有格式支持(PDF、Office、图片、音频、HTML 等)
  • [pdf] - PDF 处理(包含 OCR)
  • [docx] - Word 文档
  • [pptx] - PowerPoint
  • [xlsx] - Excel
  • [image] - 图片 EXIF 和 OCR
  • [audio] - 音频转录
  • [html] - HTML 转换
  • [ytdlp] - YouTube 下载

3. 基本使用

NPX CLI 方式(推荐)

本技能提供 NPX CLI 工具,可直接通过 npx 命令调用:

# 查看帮助
npx convert-markdown

# 转换单个文件
npx convert-markdown convert --input document.pdf --output document.md

# 转换目录
npx convert-markdown convert --input ./docs --output ./markdown

# 批量转换(指定格式)
npx convert-markdown batch --source ./docs --target ./markdown --include .pdf,.docx

# 覆盖已存在文件
npx convert-markdown convert --input document.pdf --output document.md --overwrite

CLI 命令说明:

命令 说明 参数
convert 转换文件或目录 --input, --output, --overwrite
batch 批量转换目录 --source, --target, --include, --exclude

MarkItDown 命令行方式

转换单个文件:

markitdown document.pdf > document.md
markitdown presentation.pptx -o slides.md

批量处理目录:

# 转换当前目录所有支持文件
markitdown *.pdf *.docx *.pptx

# 递归处理子目录
markitdown ./docs/ --recursive

# 输出到指定目录
markitdown ./source/ -o ./output/

Python API 方式

from markitdown import MarkItDown

# 创建转换器实例
md = MarkItDown()

# 转换文件
result = md.convert("document.pdf")
print(result.text_content)

# 转换并保存
with open("output.md", "w", encoding="utf-8") as f:
    f.write(result.text_content)

常见任务

任务 1: 批量转换知识库文档

将大量文档批量转换为 Markdown 格式,便于建立搜索索引:

# 创建输出目录
mkdir converted_docs

# 批量转换并保存
markitdown ./source_documents/ --recursive -o ./converted_docs/

任务 2: 处理扫描版 PDF

对于扫描的 PDF 文件,需要安装 OCR 依赖:

pip install 'markitdown[pdf]'  # 包含 OCR 功能
markitdown scanned_document.pdf -o text.md

任务 3: 提取表格数据

MarkItDown 能够保留原始表格结构:

markitdown financial_report.xlsx > report.md
# 输出中的表格将保持 Markdown 表格格式

任务 4: 处理多媒体文件

支持图片 OCR 和音频转录:

# 提取图片中的文字
markitdown screenshot.png > extracted_text.md

# 转换音频为文字记录
markitdown podcast.mp3 > transcript.md

任务 5: 集成到自动化流程

在 Python 脚本中使用:

from pathlib import Path
from markitdown import MarkItDown

def convert_directory(input_dir, output_dir):
    """批量转换目录中的所有支持文件"""
    md = MarkItDown()
    input_path = Path(input_dir)
    output_path = Path(output_dir)
    output_path.mkdir(exist_ok=True)

    for file_path in input_path.rglob("*"):
        if file_path.is_file():
            try:
                result = md.convert(str(file_path))
                rel_path = file_path.relative_to(input_path)
                output_file = output_path / rel_path.with_suffix('.md')
                output_file.parent.mkdir(parents=True, exist_ok=True)
                output_file.write_text(result.text_content, encoding='utf-8')
                print(f"✓ {file_path} -> {output_file}")
            except Exception as e:
                print(f"✗ {file_path}: {e}")

# 使用示例
convert_directory("./raw_docs/", "./markdown_docs/")

高级配置

自定义转换选项

from markitdown import MarkItDown, StreamConverter

# 使用流式转换(处理大文件)
with open("large_file.pdf", "rb") as f:
    md = MarkItDown()
    result = md.convert_stream(f)
    print(result.text_content)

插件系统

MarkItDown 支持自定义转换器插件。如需扩展支持特殊格式,可开发自定义 DocumentConverter:

from markitdown import DocumentConverter

class CustomConverter(DocumentConverter):
    def convert(self, file_stream, **kwargs):
        # 实现自定义转换逻辑
        pass

# 注册插件
md = MarkItDown(converters=[CustomConverter()])

MCP 服务器集成

MarkItDown 提供 Model Context Protocol (MCP) 服务器,可与 Claude Desktop 等 LLM 应用集成:

# 安装 MCP 服务器
pip install markitdown[all,mcp]

# 配置 Claude Desktop 使用
# 在 claude_desktop_config.json 中添加:
# "mcpServers": {
#   "markitdown": {
#     "command": "python",
#     "args": ["-m", "markitdown.mcp"]
#   }
# }

最佳实践

  1. 安装策略:生产环境推荐 [all] 以确保格式兼容性;资源受限环境可按需安装
  2. 内存管理:处理超大文件时使用 convert_stream() 避免内存溢出
  3. 错误处理:转换可能失败(损坏文件、不支持的格式),应捕获异常并记录
  4. 编码统一:始终使用 UTF-8 编码读写 Markdown 文件
  5. 文件组织:输出目录结构与输入目录保持一致,便于维护和追踪
  6. 性能优化:批量转换时可并行处理(多进程/多线程)提高效率

故障排除

问题 可能原因 解决方案
ModuleNotFoundError 依赖未安装 重新运行 pip install 'markitdown[all]'
OCR 不工作 缺少 Tesseract 安装 Tesseract OCR 引擎
图片转换失败 PIL/Pillow 缺失 pip install pillow
YouTube 失败 yt-dlp 未安装 pip install yt-dlp
内存不足 文件太大 使用 convert_stream() 或分批处理

资源目录说明

本技能包含以下资源目录:

  • scripts/ - 可执行脚本(示例和工具)
  • references/ - 参考文档和详细 API
  • assets/ - 模板和配置文件(当前为空)

相关链接

  • MarkItDown PyPI
  • GitHub 仓库
  • MCP 服务器文档

更新日志

  • 2026-03-12 - v1.0.3 版本:

    • 修复:修正 CLI 脚本中指向 convert_markonverter.py 的路径错误
    • 优化:更新版本号,保持与 package.json 一致
    • 维护:清理冗余的 Node.js 包装器配置
  • 2026-03-09 - 初始版本,基于 MarkItDown 0.1.0+ 创建技能模板

相关专题

更多
Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

2026.09.21

0

20

NumPy随机数文件读写与dtype数据类型
NumPy随机数文件读写与dtype数据类型

本专题整理 NumPy 随机数、文件读写与 dtype 数据类型相关教程,覆盖 Generator/random、随机数种子、正态分布采样、npy/npz/CSV/TXT 保存读取、loadtxt/savetxt、memmap、大文件处理、astype 类型转换、结构化 dtype、整数溢出和精度丢失等场景。

2026.09.21

0

24

NumPy矩阵运算与线性代数计算
NumPy矩阵运算与线性代数计算

本专题整理 NumPy 矩阵运算与线性代数计算相关教程,覆盖矩阵乘法、dot 与 @ 运算符、逆矩阵、行列式、特征值与特征向量、SVD、线性方程组、欧氏距离、矩阵分解和大规模矩阵性能优化等内容,帮助读者掌握 np.linalg 与矩阵计算实战。

2026.09.21

0

20

NumPy广播机制数学运算与统计分析
NumPy广播机制数学运算与统计分析

本专题整理 NumPy 广播机制、数组数学运算与统计分析相关教程,覆盖广播规则、维度对齐、矩阵与数组加减除法、向量化计算、均值方差、分位数、中位数、直方图和 unique 频次统计等场景,帮助读者掌握 ndarray 高效计算与统计处理方法。

2026.09.21

0

17

NumPy数组创建索引切片与数据选择
NumPy数组创建索引切片与数据选择

本专题整理 NumPy 数组创建、索引、切片与数据选择相关教程,覆盖 np.array、zeros/ones、多维数组形状、基础切片、花式索引、布尔索引、条件筛选、视图与副本等常用场景,帮助读者系统掌握 ndarray 数据构造与高效提取方法。

2026.09.21

0

12

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

2026.09.20

0

13

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

2026.09.20

0

15

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

2026.09.16

0

9

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

2026.09.16

0

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Markdown标记语言快速入门
Markdown标记语言快速入门

共30课时 | 4.3万人学习

vscode常用插件与markdown语法介绍
vscode常用插件与markdown语法介绍

共10课时 | 1.5万人学习