PPT文档解析之母版

news/2024/11/29 20:30:50/

今天和大家介绍下PPT文档解析中的母版。


什么是母版

我们平时看到的PPT展示,实际上是有多层内容组成的。

分别是页面(Slide),布局(SlideLayout)和母版(SlideMaster)

我们使用PowerPoint或者WPS打开PPT文件,调到母版视图,就能看到左边列出的母版和布局(或者叫版式)。

在这里插入图片描述

PPT文件中,可以创建多个母版,每一个母版创建多个布局。

在制作PPT时,依赖于不同的布局进行创建,不但减少了重复的工作量,也大大减少了PPT文件的体积。

在渲染时,软件会依次在三个层级渲染母版,布局,页面中的元素。最终呈现的是三个层级叠加的显示。

在这里插入图片描述

PPT文档中的母版

我们解压一个pptx文件,在其中的ppt文件夹下可以看到母版,布局,页面三者的信息。

在这里插入图片描述

我们在slides文件夹下任意打开一个slide的xml文件,但是发现里面并没有任何布局或者母版的相关信息。

在这里插入图片描述

这是因为,PPT文档中将例如资源,样式,母版等外部的信息,定义在一个单独的文件中,然后通过一个rels文件绑定两者的关系。

我们可以在slides\_rels文件夹下找到对应的.xml.rels文件,看到里面有一个relationship节点,指向了对应的SlideLayout文件的相对路径。

在这里插入图片描述

同样的,SlideLayout文件也通过同样的方式指向SlideMaster文件。

在这里插入图片描述

使用OpenXMLSDK解析

由于PPT文档将relationship放在的单独的文件,我们在解析PPT文档时,必须对多个文件进行读取,这里增加了我们在解析PPT文档时的难度。

对于母版来说,更困难的一点是,slide中没有任何地方引用SlideLayout对应的relationship 的id。

这意味着如果我不解析rels文件,我根本不知道这个页面是否使用了母版。

这使得单纯的xml解析方式进行PPT文档处理变得异常困难。

所幸是如果我们是使用C#的话,微软开源了一个叫OpenXMLSDK的库,帮助我们快速解析,查询office文档。

它直接将母版信息存储到对应slide节点的属性中,所以直接可以通过slide轻松查询到对应的母版

例如我期望做页面背景的解析,就可以使用下面的方法。

在这里插入图片描述

这样大家自主解析PPT文档(或者是openxml格式文件)都会变得很简单。


参考文档:

  • Structure of a PresentationML document (Open XML SDK) - Microsoft Docs

本文会经常更新,请阅读个人博客原文: https://xinyuehtx.github.io/ ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。


http://www.ppmy.cn/news/636586.html

相关文章

PowerPoint PPT 模板插入可修改的文本框

PowerPoint PPT 母版插入可修改的文本框 请您尝试在幻灯片母板中“插入占位符”,而非选择插入文本框。

计算机 模板 样式 母版,电脑PPT软件的母版怎么设置

电脑PPT软件的母版怎么设置 腾讯视频/爱奇艺/优酷/外卖 充值4折起 有的小伙伴在电脑上使用PPT软件时,想要设置母版,但是却不知道如何进行设置,那么小编就来为大家介绍一下吧。 具体如下: 1. 第一步,双击或者右击打开PPT软件,接着点击页面顶部的视图选项。 2. 第二步,在视…

wps ppt, 版式与母版

current version: 2022 本文未完成, 处于 office 换用 wps 的过度阶段. 用途 一次汇报的内容有多页, 保持 {配色, 字体, logo} 等在内的 风格统一, 就要用到母版. wps 与 office 有差异. 版式 与 母版 概念 母版 -> 板式 -> 幻灯片, 可类比为 编程领域的 基类 -> …

制作删不掉的php唯读档,ppt母版logo删除不了怎么办

ppt母版logo删除不了的解决办法:首先点击“视图”选项卡中的“幻灯片母版”;然后将母版幻灯片切换到最顶端一页中;接着点击选择最顶端的模板幻灯片;最后选中母版中的Logo,并按下键盘上的Delete键即可删除。 本文操作环…

PPT怎么母版怎么修改及应用

打开一个PPT,假设我要建一个母版(目的就是母版容易全部修改,不用同样的内容一个一个改) 然后点击如图“视图”“幻灯片母版” 然后就会出现一个这样的工具栏界面,一般我会把原始的编辑文本框按键盘“DELETE”键删除…

vba便捷使用 -- 修改没有母版的 ppt

vba便捷使用 – 修改没有母版的 ppt wps 的 vb 编辑器折腾了好久不能用,下载vb for wps 也不可以,换成 ms office 一下解决。 alt f11 一键操作打开 vb编辑器。 内容借鉴知乎 1.office 批量删除PPT同一位置内容 要选中要删除的位置哦 Sub delete()Di…

Java 创建并应用PPT幻灯片母版

幻灯片母版,可在幻灯片中预先存储设计模板信息,包括字形、占位符大小或位置、背景设计和配色方案等;对设定好的母版可应用于所有幻灯片,也可设计多个不同母版应用于不同幻灯片。下面通过Java代码示例介绍如何创建单一母版以及不同…

PPT母版如何应用到全部或指定页?

大家在使用PPT文件时可能会需要固定某些幻灯片的小模块,比如固定标题样式、固定背景、固定页脚等等。这种情况下,我们能就会想到使用PPT中的幻灯片母版解决问题,但是有些应用范围可能不同,有些需要应用到所有幻灯片中有些只需要应…