📚 Markitdown
由微软开源的 Python 工具,用于将多种文件格式转换为 Markdown 格式
支持:PDF、PowerPoint、Word、Excel、图像、音频、HTML、文本格式(CSV、JSON、XML)、ZIP 文件的转换。
它旨在提供一个简单且灵活的解决方案,以便在您的应用程序中轻松集成 Markdown 渲染功能。
🌟 核心功能
多格式支持: 一键转换 PDF/PPT/Word/Excel/图像/音频/HTML 等12+格式
智能处理:
图像 OCR文字识别 (支持中文扫描件)
音频 语音转文字 (支持英文优先)
集成 GPT-4o 生成图像描述
开发者友好: 提供Python API及Docker部署方案
🚀 特性
轻量级:小巧的库,易于集成。
快速:高效的 Markdown 解析和渲染。
可扩展:支持自定义插件和扩展功能。
易于使用:简单的 API,快速上手。
🔧 典型应用场景
- 文档归档: 批量转换Office文件为Markdown
- 知识库构建: 整合OCR文本+语音转录内容
- 自动化流程: 结合CI/CD实现文档发布流水线
🛠️ 快速安装
# 基础安装 (Python 3.10+)
pip install markitdown[all]
或从源码安装
git clone https://github.com/microsoft/markitdown
cd markitdown
pip install -e .
🛠️ 使用
📖 使用示例
命令行工具
# 转换PDF到Markdown
markitdown input.pdf -o output.md
# 管道操作
cat input.docx | markitdown > output.md
或者使用-o指定输出文件:
markitdown path-to-file.pdf -o document.md
可选依赖项
MarkItDown 有可选的依赖项用于激活各种文件格式。在本文档的前面,可以使用 [all] 选项安装了所有可选依赖项。当然,您也可以单独安装它们以获得更多的控制权。
例如:
pip install 'markitdown[pdf, docx, pptx]'
将仅安装PDF、DOCX和PPTX文件所需的依赖项。
目前,以下可选依赖项可用:
- [all]安装所有可选依赖项 [pptx]为PowerPoint文件安装依赖项
- [docx]为Word文件安装依赖项
- [xlsx]为Excel文件安装依赖项
- [xls]为旧的Excel文件安装依赖项
- [pdf]为PDF文件安装依赖项
- [outlook]为 Outlook 消息安装依赖项
- [az-doc-intel]安装 Azure 文档智能所需的依赖项
- [audio-transcription]安装用于WAV和MP3文件音频转录的依赖项
- [youtube-transcription]安装获取 YouTube 视频字幕所需的依赖项
插件
MarkItDown 还支持第三方插件。插件默认禁用。
以下操作可列出已安装的插件:
markitdown --list-plugins
启用插件使用:
markitdown --use-plugins path-to-file.pdf
要查找可用的插件,请在GitHub上搜索该标签#markitdown-plugin。
Azure 文档智能
要使用 Microsoft 文档智能进行转换:
markitdown path-to-file.pdf -o document.md -d -e "<document_intelligence_endpoint>"
Python 应用程序编程接口
在 Python 中的基本用法:
from markitdown import MarkItDown
md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.text_content)
Python中的文档智能转换:
from markitdown import MarkItDown
md = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
result = md.convert("test.pdf")
print(result.text_content)
要使用大语言模型进行图像描述,请提供 llm_client 和 llm_model:
from markitdown import MarkItDown
from openai import OpenAI
client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("example.jpg")
print(result.text_content)
📚 运行测试和检查
导航到 MarkItDown 包:
cd packages/markitdown
安装 hatch 在您的环境中并运行测试:
pip install hatch # Other ways of installing hatch: https://hatch.pypa.io/dev/install/
hatch shell
hatch test
(替代方案)使用已安装所有依赖项的Devcontainer:
Reopen the project in Devcontainer and run:
hatch test
在提交 PR 之前运行预提交检查:pre-commit run --all-files
5、每日资源 在这里
💯 👉【我的更新汇总】
👉项目直达
关注我的CSDN博客
更多资源可以查看我的CSDN博客