pptx2md - 将PPT文件转换成Markdown

将 Powerpoint pptx 文件转换为 markdown 的工具。

GithubGitHub - ssine/pptx2md:pptx 到 markdown 的转换器

更多AI开源软件: 发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - 小众AI

主要功能

支持保留以下格式:

  • 标题。支持具有模糊匹配的自定义目录。
  • 具有任意深度的列表。
  • 带有**粗体**、*斜体*、颜色和超链接的文本
  • 图片。它们被提取到图像文件中,并插入相对路径。
  • 具有合并单元格的表格。
  • 从上到下,然后从左到右的区块顺序。

支持输出为如下格式:

安装和使用

安装

您需要在系统上安装 **3.10** 版本高于 *Python* 和 *pip*,然后在终端中运行:

复制代码
pip install pptx2md
用法

安装后,使用命令将 pptx 文件转换为 markdown。pptx2md [pptx filename]​

默认输出文件名为 ,提取(并插入到 .md 中)的任何图片都将放置在文件夹中。out.md/img/​

**注意:**不支持较旧的 .ppt 文件,请先将它们转换为新的 .pptx 版本。

**升级和移除:**

复制代码
pip install --upgrade pptx2md

pip uninstall pptx2md

自定义标题

默认情况下,此工具将所有 pptx 标题解析为 markdown 标题,以获得分层目录,在文件中提供预定义的标题列表并为其提供参数。level 1-t​

这是一个示例标题文件 (titles.txt):

复制代码
Heading 1
  Heading 1.1
    Heading 1.1.1
  Heading 1.2
  Heading 1.3
Heading 2
  Heading 2.1
  Heading 2.2
    Heading 2.1.1
    Heading 2.1.2
  Heading 2.3
Heading 3

开头带有空格的第一行被视为第二级标题,空格数是缩进的单位。在这种情况下, 将输出为 .由于它的开头有两个空格,所以 2 是标题缩进的单位,所以有 4 个空格时将输出为 。标题文本进行模糊匹配,不匹配的 pptx 标题将被视为最深的标题。 Heading 1.1## Heading 1.1 Heading 1.1.1### Heading 1.1.1​

将其与 . 一起使用。pptx2md [filename] -t titles.txt​

完整参数

  • -t [filename]提供标题文件
  • -o [filename]输出文件的路径
  • -i [path]提取的图片目录
  • --image-width [width]图片的最大宽度,以 px 为单位。如果设置,图像将作为 html img 标签放置。
  • --disable-image禁用图像提取
  • --disable-escaping不要尝试转义特殊字符
  • --disable-notes不添加 Presenter 注释
  • --disable-wmf保持 WMF 格式的映像不变(避免在 Linux 下出现异常)
  • --disable-color在 HTML 中禁用颜色标签
  • --enable-slidesDeliniate Slides ,如果您想将 PPTX 幻灯片转换为 Markdown 幻灯片,这会有所帮助\n---\n
  • --try-multi-column尝试检测多柱玻片(非常慢)
  • --min-block-size [size]要输出的文本块的最小字符数
  • --wiki / --mdk如果你碰巧在使用 TiddlyWiki 或 Madoko,这个参数会输出相应的标记语言
  • --qmd输出到用于 Quarto 支持的演示文稿的 QMD 标记语言
  • --page [number]仅转换指定的页面
  • --keep-similar-titles保留相似的标题,并在重复的幻灯片标题中添加"(续)"

注意:如果需要,请安装 wand 以获得更好的成功转换 wmf 图像的机会。

API 使用

您还可以在 Python 代码中以编程方式使用 pptx2md:

复制代码
from pptx2md import convert, ConversionConfig
from pathlib import Path

# Basic usage
convert(
    ConversionConfig(
        pptx_path=Path('presentation.pptx'),
        output_path=Path('output.md'),
        image_dir=Path('img'),
        disable_notes=True
    )
)

该类接受与命令行参数相同的参数:ConversionConfig​

  • pptx_path:输入 PPTX 文件的路径(必填)
  • output_path:输出 markdown 文件的路径(必填)
  • image_dir:提取图像的目录(必需)
  • title_path: 自定义标题文件的路径
  • image_width:图像的最大宽度(以 px 为单位)
  • disable_image:跳过图像提取
  • disable_escaping:跳过转义特殊字符
  • disable_notes:跳过演示者注释
  • disable_wmf:跳过 WMF 图像转换
  • disable_color:跳过 HTML 中的颜色标签
  • enable_slides:添加幻灯片分隔符
  • try_multi_column:尝试检测多列幻灯片
  • min_block_size:最小文本块大小
  • wiki:以 TiddlyWiki 格式输出
  • mdk:以 Madoko 格式输出
  • qmd:以四开格式输出
  • page:仅转换指定的页码
  • keep_similar_titles: 保留带有"(续)"后缀的相似标题
相关推荐
说私域17 分钟前
技术指数变革下的组织适应性研究:基于定制开发开源AI智能名片S2B2C商城小程序的实践观察
人工智能·小程序·开源
realhuizhu20 分钟前
📚 技术人的阅读提效神器:多语言智能中文摘要生成指令
人工智能·ai·chatgpt·prompt·提示词·总结·deepseek·摘要
szxinmai主板定制专家22 分钟前
一种基于 RK3568+AI 的国产化充电桩安全智能交互终端的设计与实现,终端支持各种复杂的交互功能和实时数据处理需求
arm开发·人工智能·嵌入式硬件·安全
apocalypsx33 分钟前
深度学习-Kaggle实战1(房价预测)
人工智能·深度学习
春末的南方城市37 分钟前
开放指令编辑创新突破!小米开源 Lego-Edit 登顶 SOTA:用强化学习为 MLLM 编辑开辟全新赛道!
人工智能·深度学习·机器学习·计算机视觉·aigc
37手游后端团队43 分钟前
Claude Code Review:让AI审核更懂你的代码
人工智能·后端·ai编程
源代码杀手1 小时前
深入解析 Spec Kit 工作流:基于 GitHub 的 Spec-Driven Development 实践
人工智能·github
szxinmai主板定制专家2 小时前
基于 ZYNQ ARM+FPGA+AI YOLOV4 的电网悬垂绝缘子缺陷检测系统的研究
arm开发·人工智能·嵌入式硬件·yolo·fpga开发
程序员老刘2 小时前
2025年Flutter状态管理新趋势:AI友好度成为技术选型第一标准
flutter·ai编程·客户端
聚客AI3 小时前
🌈提示工程已过时?上下文工程从理论到实践的完整路线图
人工智能·llm·agent