数据处理工具
MarkItDown:将文件与办公文档转换为 Markdown 的 Python 工具
microsoft/markitdown · Python tool for converting files and office documents to Markdown.
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
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。