← 返回列表

MarkItDown:将文件与办公文档转换为 Markdown 的 Python 工具

microsoft/markitdown · Python tool for converting files and office documents to Markdown.

GitHub原文发布 未知首次收录 2026-09-15上架 2026-09-15 07:04

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

MarkItDown 是微软开源的轻量级 Python 工具,用于把 PDF、PowerPoint、Word、Excel、图片、音频、HTML、CSV/JSON/XML、ZIP、YouTube URL、EPub 等多种格式转换为 Markdown,并尽量保留标题、列表、表格、链接等文档结构,主要面向 LLM 与文本分析流水线。它提供命令行与 Python API,支持可选依赖、第三方插件、通过 LLM 生成图片描述,以及 Azure Document Intelligence 与 Azure Content Understanding 云端转换(后者按调用计费,并支持 YAML 结构化字段抽取)。

核心能力与快速开始

★ 183988 · Python

能做什么
支持将 PDF、PowerPoint、Word、Excel、图片(EXIF 元数据与 OCR)、音频(EXIF 元数据与语音转写)、HTML、CSV/JSON/XML 等文本格式、ZIP(遍历内容)、YouTube URL、EPub 等转换为 Markdown,保留标题、列表、表格、链接等文档结构。提供命令行(markitdown 命令,支持 -o 输出文件与管道输入)和 Python API(MarkItDown().convert())。支持按格式安装可选依赖(如 [pdf]、[docx]、[pptx]、[xlsx]、[xls]、[outlook]、[audio-transcription]、[youtube-transcription]、[az-doc-intel]、[az-content-understanding])。支持第三方插件(默认关闭,--list-plugins / --use-plugins),并提供 markitdown-ocr 插件,通过 LLM Vision 为 PDF、DOCX、PPTX、XLSX 内嵌图片做 OCR。可用 llm_client 与 llm_model 调用大模型为图片(pptx 和图片文件)生成描述。支持 Azure Document Intelligence 与 Azure Content Understanding 云端转换,后者提供结构化字段抽取(YAML front matter)、多模态(文档、图像、音频、视频)与自定义分析器。支持 Docker 构建与运行。
适用场景
把办公文档、PDF 等资料转换为 Markdown 以喂给 LLM 或文本分析流水线;为 RAG/知识库准备结构化程度较好的文本输入;在命令行或脚本中批量转换并管道输出;为图片、扫描件或带内嵌图片的文档引入 OCR 与图像描述;需要结构化字段(如发票金额、收据日期、合同条款)时使用 Azure Content Understanding 自定义分析器抽取 YAML 字段;处理音频转写与视频内容(仅 Azure Content Understanding 支持视频)。
项目形态
可直接使用的工具
部署方式
可作为 Python 包通过 pip 安装使用,也支持从源码安装与 Docker 构建运行(未说明云部署与托管服务方案);Azure Document Intelligence 与 Azure Content Understanding 为云端服务,需要相应 endpoint,且相关 convert() 调用按 Azure API 计费。
主要依赖
需要 Python 3.10 或更高版本,建议使用虚拟环境;不同文件格式需安装对应可选依赖(如 pdf、docx、pptx、xlsx、xls、outlook、audio-transcription、youtube-transcription、az-doc-intel、az-content-understanding);使用 LLM 图像描述或 markitdown-ocr 插件需提供 OpenAI 或兼容客户端及模型;使用 Azure 相关功能需要 Azure 服务 endpoint,可能还需要设置 cu_analyzer_id 等配置。
使用限制
输出通常可读但主要面向文本分析工具,并非面向人工阅读的高保真文档转换方案。插件默认关闭,需显式启用。图片描述目前仅适用于 pptx 和图片文件。内置转换器不支持视频,音频仅为基础转写。结构化字段抽取仅在 Azure Content Understanding 路径提供。使用 Azure 服务为按次计费的 API 调用。MarkItDown 以当前进程权限执行 I/O,在不可信环境中需清理输入并调用最窄的 convert_* 函数。仓库不接受新增应用、服务或服务器(如 Web 服务、REST/HTTP API、前端界面、桌面与移动应用),此类应作为独立项目。
许可证
MIT
最近推送
2026-09-15 00:53

资料检查:2026-09-15 07:00 · 卡片整理:2026-09-15 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容

职业应用

程序员

在开发 LLM 或文本分析流水线时,使用 MarkItDown 的 Python API 或命令行将 PDF、Word、Excel、PPT 等文档转换为 Markdown,以便作为 LLM 输入或进行文本分析。

查看内容依据
MarkItDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

产品经理

产品经理在整理用户研究资料、需求文档或数据分析时,可使用 MarkItDown 将 PDF、Word、Excel 等格式的文档转换为 Markdown,便于后续文本分析或输入 LLM 处理。

查看内容依据
MarkItDown is a lightweight Python utility for converting various files to Markdown for use with LLMs and related text analysis pipelines.

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。