
一条命令把 PPT 变成 LLM 能读懂的 Markdownmarkitdown PowerPoint 转换实战【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdownmarkitdown 是一个把各类办公文档转换为 Markdown 的 Python 工具其中 PPTX 转换功能会将 .pptx 里的文本、表格、图表、图片和演讲者备注逐形状处理输出带幻灯片分隔注释的结构化 Markdown可以直接喂给 LLM 或 RAG 流水线。下面的内容基于对转换器源码与测试向量的阅读整理覆盖从安装到关键配置的全部要点。转换结果长什么样先看产物再谈原理。一份包含标题、表格、图表、图片和备注的演示文稿经过 markitdown 处理后大致是这样的!-- Slide number: 1 -- # 项目季度报告 | 产品 | Q1销售额 | Q2销售额 | 增长率 | |------|----------|----------|--------| | 产品A | $120,000 | $138,000 | 15% | ### Chart: 季度销售趋势 | Category | 产品A | 产品B | |----------|-------|-------| | Q1 | 120000 | 85000 | 产品A最新版本界面截图 ### Notes: 本季度增长率达到15%几个值得注意的输出约定每张幻灯片以!-- Slide number: N --注释块开头方便下游按页切分幻灯片标题形状会被提升为#一级标题其余文本框按原样输出图表统一渲染为### Chart: 标题加一张类别 × 数据系列的表格遇到无法解析的图表类型时只输出一行[unsupported chart]占位不会中断整个转换备注如有追加在页面末尾以### Notes:标记图片默认输出为alt形式alt 文本优先取嵌入文件的描述、LLM 生成的说明最后才回退到形状名安装与快速上手PPTX 支持依赖python-pptx属于可选依赖需要显式安装pip install markitdown[pptx]如果还要处理 PDF、Excel 等其它格式用pip install markitdown[all]一次性装齐。命令行方式支持文件参数、管道和标准输入三种入口markitdown presentation.pptx -o output.md cat presentation.pptx | markitdown -x pptx注意管道模式下没有扩展名线索加-x pptx给出提示更稳妥。Python API 更直接convert()既可接收路径、Path也可接收二进制流from markitdown import MarkItDown result MarkItDown().convert(presentation.pptx) print(result.text_content)转换器内部做了哪些事实现位于packages/markitdown/src/markitdown/converters/_pptx_converter.py逻辑并不复杂用 python-pptx 打开演示文稿逐页遍历页面内的形状按top、left坐标排序后再输出——坐标为空的形状排最前效果是内容大致按从上到下、从左到右的阅读顺序出现而不是 XML 里的创建顺序组合形状Group会递归展开内部子形状同样参与坐标排序表格先拼成 HTML 片段再交给内置的 HtmlConverter 转成 Markdown 表格因此合并单元格、特殊字符转义都复用同一套逻辑图表只读取第一个 plot 的类别与系列数值抛unsupported plot type等异常时降级为占位符文本两个关键配置 大部分场景只用默认行为就够真正会改的是这两个参数。让 LLM 为图片生成描述。把 OpenAI 兼容客户端传进去即可幻灯片内嵌的每张图片都会调用chat.completions.create生成说明并写进 alt 文本不传llm_prompt时默认提示词是 Write a detailed caption for this image.from openai import OpenAI from markitdown import MarkItDown md MarkItDown( llm_clientOpenAI(api_keysk-...), llm_modelgpt-4o, llm_prompt用一句话概括这张技术截图的内容, ) result md.convert(technical.pptx)上图是仓库测试套件里用于验证 LLM 图片描述的样例图tests/test_files/test_llm.jpg测试会断言描述中出现 red、circle、blue、square 等词。保留 base64 图片数据。默认情况下图片只留占位文件名开启keep_data_urisTrue命令行对应--keep-data-uris后输出会变成alt内嵌形式适合把 Markdown 做成自包含的单文件。常见问题速查现象原因与处理报错提示缺少python-pptx未安装可选依赖执行pip install markitdown[pptx]后重试输出里只有[unsupported chart]该图表类型不在支持范围属预期降级行为数据不会丢失但需另行导出内容顺序和视觉布局对不上排序只依据形状坐标自由摆放的艺术字、无坐标形状会排在最前从管道转换时报格式不支持用-x pptx或-m传入扩展名 / MIME 类型提示需要自己扩展转换逻辑时可以直接实例化PptxConverter单独调用或参考packages/markitdown-sample-plugin/的插件骨架注册自定义转换器插件体系默认关闭命令行加-p、API 传enable_pluginsTrue才会加载。小结markitdown 对 PPTX 的处理策略是保结构、不保像素标题、表格、图表数据、备注全部落成纯文本图片默认只留引用、可选 LLM 描述或 base64 内嵌。对于把历史演示文稿变成可检索语料、或者为 Agent 准备上下文这类任务这套输出格式开箱即用基本不需要再写清洗脚本。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考