markitdown 实战一条命令把 PDF、Word、音频离线转成 Markdown 喂给大模型【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdownmarkitdown 是一个 Python 文件转 Markdown 工具一条命令把 PDF、Word、Excel、EPUB、图片、音频离线转成保留标题和表格的结构化文本全程不经过任何服务器。产出能直接喂给大模型适合做文档问答、建知识库、批量整理 Office 文件。把一堆文档喂给大模型从转 Markdown 开始如果你的目标是文档进大模型问答、建知识库或者批量整理一堆 Office 文件markitdown 就是为这个设计的这三个也是它的核心场景。主流大模型按 Markdown 解析文本结构化输出喂进去既省 token 又稳定。切块、建索引时标题层级还在比一段纯文本好用。两件事先说清楚。它不做像素级排版还原产出面向文本分析出版级版式需求请交给专业排版工具。内置转换器默认完全离线文件不离开本机文件不能出本地的场景正合适。一行命令安装 markitdown 并跑通首次转换环境要求 Python 3.10 以上。装全量格式支持pip install markitdown[all]装完即可用markitdown命令直接出现在终端里。依赖可以按格式收窄pip install markitdown[pdf,docx]就只带 PDF 和 Word 的支持。想从源码跑git clone https://gitcode.com/GitHub_Trending/ma/markitdown之后执行pip install -e packages/markitdown[all]即可也是安装命令的事。转换任何受支持的文件markitdown book.epub -o book.md cat example.pdf | markitdown第一条把 EPUB 结果写进 book.md第二条演示管道输入去掉-o则结果直接打到终端预览时省一步。PDF、Word、Excel 转出来的 Markdown 长什么样结构是保留的Word 里的公式转成 LaTeX 写法Excel 的表格直接落成 Markdown 表格PPT 每一页幻灯片独立成块。命令形式对所有受支持格式通用换个文件名就行。会议纪要、财务报表这类文件批量入库后直接全文检索。EPUB 转换时content.opf 里的书名、作者、出版社会被解析出来作为字段块排在正文前面不用手工补。先看仓库里现成的测试素材这页学术论文转完后标题、作者行、正文段落各自落在对应的 Markdown 结构里。效果针对带文字层的数字 PDF纯扫描的纸质 PDF 结果是空的处理办法见下一节。图片的产出是一组字段EXIF 里的设备、拍摄时间、坐标直接列出来。wav、mp3 装[audio-transcription]依赖后可转成文字YouTube 链接可以直接传抓完字幕再转换对应[youtube-transcription]依赖。构造 MarkItDown 实例时注入 LLM 客户端图片转换会多输出一句自动生成的描述。上面这张样本图就是仓库里为它准备的测试图。扫描件和复杂文档交给 markitdown OCR 插件扫描版 PDF 没有文字层内置转换器读不到页面里的图会转出空内容 ⚠️。两条出路一条是装官方 markitdown-ocr 插件。它给 PDF、Word、PPT、Excel 四类转换器挂上 OCR再配上 LLM 客户端嵌在文档图片里的文字也能读出来扫描件正是它的用武之地。markitdown --list-plugins列出当前可用的插件转换命令加-p启用。另一条是接云端-d挂 Azure Document Intelligence--use-cu挂 Azure Content Understanding复杂表格、扫描件的质量更高。两者都按云 API 计费内置转换器才是默认的免费本地路径。要支持新格式建议直接写插件官方开发模板在 packages/markitdown-sample-plugin/。内置转换器不处理视频这类需求走 Azure Content Understanding 端点。Python API 调用与批量文档转换你在脚本里调它三行搞定from markitdown import MarkItDown md MarkItDown() print(md.convert(data.xlsx).markdown)运行后在终端打印 data.xlsx 对应的 Markdown 内容。服务端部署建议换convert_local()只处理本地文件比默认入口更窄输入可能来自外部用户时先做校验再走这种最窄入口。CLI 没有目录级开关批量就靠 shell 循环包一层for f in *.pdf; do markitdown $f -o out/${f%.pdf}.md done跑完后out/目录里就是每个 PDF 对应的.md文件文件名保留原 PDF 名。附录参数备忘与替代方案对照CLI 参数记这张表参数作用-o输出到文件缺省打印终端-x给 stdin 内容提示扩展名-m/-c提示 MIME 类型 / 文件编码-p启用已安装的第三方插件-d/--use-cu切换 Azure Document Intelligence / Content Understanding 提取--keep-data-uris不截断输出中的 base64 内嵌图片默认截断和替代做法对照维度markitdown在线转换工具手动复制粘贴文件去向完全本地上传第三方服务器本地产出结构化 Markdown喂 LLM 和流水线可读页面零散片段结构完整度标题、表格、列表、链接齐全仅基础格式容易断元数据EPUB 等自动带出大多丢失没有前置依赖Python 3.10浏览器加网络无收尾文件不出本机、产出要进大模型装[all]基本够用版式交给排版工具扫描件交给 OCR 插件别硬扛。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考