前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PPT结构解析

PPT结构解析

作者头像
码客说
发布2021-04-09 16:39:04
1.8K0
发布2021-04-09 16:39:04
举报
文章被收录于专栏:码客码客

前言

官方文档: officeopenxml

PPT和PPTX本质就是一个ZIP压缩文件,我们可以把PPT的后缀直接改为zip后直接解压,就会看到以下文件:

image-20210408140121161
image-20210408140121161

ppt下

image-20210408140235314
image-20210408140235314

文件的类型和数目可能会根据 幻灯片 的内容有所不同,但是肯定会有一个[Content_Types].xml,至少一个.rels 和一个 presentation,当然至少得有一页内容吧,而相应的就会有 slideMaster 和 slideLayout.

先来看看主要的几个文件里装了什么东西。

Content Types

定义了所有幻灯片里用到的格式和内容,简单的说就是所有文件都要提前声明。格式一般是:

代码语言:javascript
复制
<Default Extension="jpeg" ContentType="image/jpeg"/>
<Override PartName="/ppt/slides/slide1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>

为了简单,其他的可能存在的格式可以都写上,比如图片、视频、字体等,只有 slide 是不确定的。

Relationships

为了方便各种资源的引用,所以会有关系表,格式为:

代码语言:javascript
复制
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml" />

Id 就是在其他地方引用的标识符,Type 一般是个链接,Target 就是资源存在的位置

基本每个部分都有这样一个表,slidesslideMastersslideLayouts文件夹下面都有一个_relspresentation.xml 也有对应的 presentation.xml.rels

Presentation

包含了构成 PPTX 的各种规范以及属性,比如嵌入字体,默认字体样式,备注,分辨率,过渡动画等。

Slides

这里存储的就是幻灯片具体的内容了

Slide: 包含一个单页幻灯片的页面内容 Slide Master: 包含母版幻灯片的所有文本、格式相关的定义 Slide Layout: 包含幻灯片模板的默认格式

虽然以前也做过 PPT,最喜欢网上找个模板直接套,这次终于知道了还有“幻灯片母版”这个东西,感觉到了其中的博大精深。

因为我们的内容都是固定的,所以对于 slideLayoutslideMaster 就直接 copy 了一份,作为固定内容,主要修改 slide 里面的内容。

Slide 有很多属性可以定义各种样式,可以在官方文档里查看,都比较清楚。

实际业务中,除了文字,其他的类型,比如 svg,蒙版,各种特效都直接以图片的形式替代,所以有时候会导致下载比较久。最容易出问题的就是 ID 的匹配,不能出现重复的 ID

总的来说,如果要实现什么效果不知道怎么下手的话,只要自己动手在 PPT 里实现一下,解析出来研究看看文件结构,就知道怎么做了。

PPT模板与母版的区别:

1、模板包含母版,母版只是模板的一部分。

模板是一个专门的页面格式,进去它会告诉你什么地方填什么,可以拖动修改。

母版是一个系列的,比如底色和每页都会显示出来的边框或者日期,页眉页脚之类,设置一次,以后的每一页全部都相同,起统一、美观的作用。

2、母版又称为原版,即幻灯片的原版。模板即用来印刷幻灯片的三原色版。

模板:演示文稿中的特殊一类,扩展名为.pot。用于提供样式文稿的格式、配色方案、母版样式及产生特效的字体样式等。应用设计模板可快速生成风格统一的演示文稿。

母版:规定了演示文稿(幻灯片、讲义及备注)的文本、背景、日期及页码格式。母版体现了演示文稿的外观,包含了演示文稿中的共有信息。每个演示文稿提供了一个母版集合,包括:幻灯片母版、标题母版、讲义母版、备注母版等母版集合。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-04-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • Content Types
      • Relationships
        • Presentation
          • Slides
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档