上传文件
  1. base64hub
  2. 文件工具
  3. Base64 转 PowerPoint

Base64 转 PowerPoint(PPTX)

粘贴 Base64 编码的演示文稿,即可阅读每张幻灯片的文本并下载 .pptx。不用 PowerPoint 也能快速查看一份演示文稿的内容。

免费 无需注册,不限次数 本地 不上传任何内容 幻灯片文本 逐张显示标题和正文 更新于 2026年10月27日
输入 –输出 –大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何将 Base64 解码为 PowerPoint 文件

  1. 把 Base64 粘贴到 Base64 或 data URI。data:application/vnd.openxmlformats-officedocument.presentationml.presentation;base64, 前缀没有问题,保存为文本的长字符串可以用 打开 .txt 文件 处理。
  2. 幻灯片文本 按编号列出每张幻灯片(幻灯片 1、幻灯片 2 等),每个段落的文本单独占一行。没有文本的幻灯片显示为 …。
  3. 下方的条目列表显示文件的所有组成部分,每项都有 查看 和 保存。
  4. 点击 下载文件 保存 .pptx。

文本由浏览器的 XML 解析器从幻灯片 XML 中提取。演示文稿中的任何内容都不会被执行,除 Cloudflare 的浏览量统计外,页面也不会发出网络请求。

幻灯片文本包含哪些内容

每张幻灯片都是 .pptx 内一个单独的 XML 文件,预览会提取其中每个段落的文本:标题、正文占位符、文本框、形状、组合形状和表格单元格。标记为隐藏的幻灯片也包括在内。最多读取 200 张幻灯片。

存放在其他地方的内容不会显示:

内容存放位置如何查看
演讲者备注ppt/notesSlides/notesSlideN.xml查看 显示 XML
SmartArt 文本ppt/diagrams/dataN.xml查看 显示 XML
图表ppt/charts/chartN.xml,数据在嵌入的工作簿中从 ppt/embeddings/ 中 保存 嵌入的 .xlsx
图片和视频ppt/media/查看 可预览,保存 可下载
批注ppt/comments/查看 显示 XML

幻灯片按其文件名中的编号排列,即 slide1.xml、slide2.xml 等。通常这就是演示文稿的顺序,但被脚本重新排列过的演示文稿可能保留了旧的文件编号,所以编号仅供参考。

确认它是 PPTX

每个 Office Open XML 文件都是 ZIP 压缩包,所以 PowerPoint 演示文稿的 Base64 和 Word 文档、Excel 工作簿一样以 UEsDB 开头。工具通过查找条目中的 ppt/ 文件夹来区分它们。如果内容是其他格式,会有提示说明,并提供正确的扩展名:

检测结果提示
DOCX 或 XLSX“这看起来是 DOCX,而不是 PPTX。”,附带 下载为 .docx
PDF(JVBERi0)导出为 PDF 的演示文稿,附带 下载为 .pdf
DOC/XLS/MSG (OLE),0M8R4KGxGuEPowerPoint 97–2003 的旧版 .ppt,或受密码保护的 .pptx。工具无法区分这两种情况,所以前者请在 扩展名 中填 ppt,后者保留 pptx

带宏的演示文稿(.pptm)包含 ppt/vbaProject.bin。它的文本可以正常预览,但 PowerPoint 只在扩展名为 .pptm 时才会打开它,所以下载前请填入这个扩展名。

用 Python 读取幻灯片文本

只用标准库就能按预览所用的顺序列出每张幻灯片的文本:

import base64, io, re, zipfile
import xml.etree.ElementTree as ET

A = "{http://schemas.openxmlformats.org/drawingml/2006/main}"

with open("deck.b64") as f:
    pptx = base64.b64decode(f.read())

with zipfile.ZipFile(io.BytesIO(pptx)) as z:
    slides = [n for n in z.namelist() if re.fullmatch(r"ppt/slides/slide\d+\.xml", n)]
    slides.sort(key=lambda n: int(re.search(r"\d+", n).group()))
    for name in slides:
        root = ET.fromstring(z.read(name))
        lines = ["".join(t.text or "" for t in p.iter(A + "t")) for p in root.iter(A + "p")]
        print(name, [s for s in lines if s.strip()])

对于本页的示例演示文稿,它会输出 ppt/slides/slide1.xml ['Hello from Base64', 'A two-slide deck built in your browser.'],幻灯片 2 也类似。如果需要准确的幻灯片顺序,可以查看 ppt/presentation.xml 中的 <p:sldIdLst> 元素。更多内容见 Python 中的 Base64;压缩包相关的内容见 Base64 转 ZIP。

常见问题

怎么把 Base64 转换成 PowerPoint 文件?

把字符串粘贴到上方,点击 下载文件。演示文稿会保存为 decoded.pptx;如果想用别的名字,请先修改 文件名。

会显示演讲者备注吗?

幻灯片文本中不包含备注。备注保存在 ppt/notesSlides/notesSlide1.xml 等文件中;在条目列表中点击对应条目旁的 查看 即可阅读其 XML,文本位于 <a:t> 元素中。

能以图片形式查看幻灯片吗?

不能。本页只读取幻灯片的文本,不会绘制幻灯片。演示文稿中用到的图片可以在条目列表的 ppt/media/ 中逐个查看和保存。