MarkItDown:把多种文件转成 Markdown 的 Python 工具
MarkItDown 是轻量级 Python 工具,可将 PDF、Office 文档、图片、音频、HTML、ZIP、EPub、YouTube 链接等转换为 Markdown,便于 LLM 与文本分析流程使用,并提供可选插件与云服务转换能力。
用途与支持格式
MarkItDown 是一个轻量级 Python 工具,目标是把各类文件转换为 Markdown,供 LLM 和文本分析流程使用。它强调保留文档结构(标题、列表、表格、链接等),输出偏向机器消费而非高保真的人类阅读排版。
来源列出的支持格式包括:PDF、PowerPoint、Word、Excel、图片(EXIF 元数据与 OCR)、音频(EXIF 与语音转写)、HTML、文本类格式(CSV、JSON、XML)、ZIP(遍历内容)、YouTube URL、EPub 等。
为什么用 Markdown
来源认为 Markdown 接近纯文本、标记极少,同时能表达文档结构;主流 LLM 对 Markdown 较熟悉,且 Markdown 约定在 token 使用上较高效。
使用方式
提供命令行与 Python API 两种用法。命令行可通过管道输入或 -o 指定输出文件。可选依赖按格式拆分(如 pdf、docx、pptx、xlsx、outlook,以及 Azure 相关和音频、YouTube 转写等),也可安装 [all]。插件默认关闭,可用 --use-plugins 开启,并有官方示例插件。
扩展与云服务
来源介绍了 markitdown-ocr 插件:为 PDF、DOCX、PPTX、XLSX 转换器增加 OCR,借助 LLM Vision 从内嵌图片提取文本,复用已有的 llm_client / llm_model 模式;未提供 llm_client 时插件仍加载但静默跳过 OCR。 此外支持 Azure Content Understanding(结构化字段抽取为 YAML front matter、多模态、可配置分析器,单次转换是计费 API 调用)和 Azure Document Intelligence。Python API 中可为图片描述传入 llm_client 与 llm_model。
限制与待核实
来源明确说明输出面向文本分析工具,可能不是高保真文档转换的最佳选择。安全方面,MarkItDown 以当前进程权限执行 I/O,可能访问进程可访问的资源;在不可信环境中需净化输入,并尽量调用最窄的转换方法(如 convert_stream()、convert_local())。运行环境要求 Python 3.10–3.14。来源未给出具体版本号、性能数据或价格细节。
来源与核对说明
- MarkItDown ↗https://github.com/microsoft/markitdown
本文经 AI 整理及独立自动校对,未做运行验证;自动校对仍可能遗漏问题,请以原始资料为准。
这篇内容对你有帮助吗?
点赞与收藏保存在当前浏览器。