办公自动化-ppt的创建实操-各个对象的理解-0223

对象关系汇总

属性slides
属性slide_layouts
方法save需要
其中一个
方法add_slide需要
得到
属性shapes
属性placeholders
属性title
方法add_textbox需要
得到
属性text_frame
方法add_paragraph
属性text
取其一
属性text需要
相同性质
属性text_framd
方法add_paragraph
属性text需要
属性font
属性bold需要
属性size需要
属性underline需要
PPT文档
演示文档容器
幻灯片格式十一个-类似于列表
文件保存路径.pptx
单个幻灯片模板
幻灯片页面
页面形态对象
占位符多个
占位符单个-标题
左上宽高四个尺寸对象-Inches类实例需要int
文本盒子
文本框:文本盒子的
段落:文本框:文本盒子的
内容str
占位符单个
内容str
文本框对象-占位符的
段落对象-文本框对象-占位符的
内容str
段落字体
布尔值bool
Pt类对象参数int

目标

来一个幻灯片的生成

安装模块

pip install python-pptx

认识三个对象

import pptx

# ppt文档对象
ppt = pptx.Presentation()
# 幻灯片容器
slides = ppt.slides
# 获得一个版式
page = ppt.slide_layouts[1]


在这里插入图片描述

slide_layouts[1]为带标题和正文框的ppt,slide_layouts[6]为空白页ppt

演示文档容器添加一页

import pptx

# ppt文档对象
ppt = pptx.Presentation()
# 演示文档容器
slides = ppt.slides
# 获得一个版式
layout1 = ppt.slide_layouts[1]
# 容器添加一个版式
print(len(slides))
slides.add_slide(layout1)
print(len(slides))



在这里插入图片描述

文件的保存

ppt.save('test.pptx')

在这里插入图片描述

版式为2时

import pptx

# ppt文档对象
ppt = pptx.Presentation()
# 演示文档容器
slides = ppt.slides
# 获得一个版式
layout1 = ppt.slide_layouts[2]
# 容器添加一个版式
print(len(slides))
slides.add_slide(layout1)
print(len(slides))


ppt.save('test2.pptx')

在这里插入图片描述

版式的规律寻找

对着演示来看,一共十一个

在这里插入图片描述

我们试试序号七的结构,验证一下猜测

版式七的效果

在这里插入图片描述

与猜测相符

获得所有的文本框

版式一有两个占位符

在这里插入图片描述

占位符添加内容

在这里插入图片描述

import pptx

# ppt文档对象
ppt = pptx.Presentation()
# 演示文档容器
slides = ppt.slides
# 获得一个版式
layout1 = ppt.slide_layouts[1]
# 容器添加一个版式
page = slides.add_slide(layout1)
# 获得所有的占位符
placeholders = page.shapes.placeholders
# 给占位符添加内容
placeholders[0].text = '这是标题的位置'
placeholders[1].text = '这是正文的内容/n可以吗'




ppt.save('test1.pptx')

标题是一个占位符

标题占位符的两种对象获取方式

在这里插入图片描述

文本框对象与段落对象

占位符对象具有文本框对象

文本框里面可以有多个段落

在这里插入图片描述

让正文占位符里有多个文本对象

import pptx
from pptx.util import Pt

# ppt文档对象
ppt = pptx.Presentation()
# 演示文档容器
slides = ppt.slides
# 获得一个版式
layout1 = ppt.slide_layouts[1]
# 容器添加一个版式
page = slides.add_slide(layout1)
# 获得所有的占位符
placeholders = page.shapes.placeholders
# 给占位符添加内容
placeholders[0].text = '这是标题的位置'
placeholders[1].text = '这是正文的内容'
# 文本框对象(占位符一的)
text_frame = placeholders[1].text_frame
# 段落对象(文本框的)
paragraph = text_frame.add_paragraph()
paragraph2 = text_frame.add_paragraph()
# 给段落对象添加内容
paragraph.text = '第一个段落内容'
paragraph2.text = '第二个段落内容'
#  段落的样式
paragraph.font.bold = True
paragraph2.font.size = Pt(15)
paragraph2.font.underline = True

ppt.save('test1.pptx')

在这里插入图片描述

文本框对象的演练

在这里插入图片描述

代码

import pptx

# ppt文档对象
from pptx.util import Pt, Inches

ppt = pptx.Presentation()
# 演示文档容器
slides = ppt.slides
# 获得一个版式
layout1 = ppt.slide_layouts[1]
# 容器添加一个版式
page = slides.add_slide(layout1)
# 获得所有的占位符
placeholders = page.shapes.placeholders
# 给占位符添加内容
placeholders[0].text = '这是标题的位置'
placeholders[1].text = '这是正文的内容'
# 文本框对象(占位符一的)
text_frame = placeholders[1].text_frame
# 段落对象(文本框的)
paragraph = text_frame.add_paragraph()
paragraph2 = text_frame.add_paragraph()
# 给段落对象添加内容
paragraph.text = '第一个段落内容'
paragraph2.text = '第二个段落内容'
#  段落的样式
paragraph.font.bold = True
paragraph2.font.size = Pt(15)
paragraph2.font.underline = True
# 文本框对象
left = Inches(6)  # 左
top = Inches(2)  # 顶
width = Inches(4)  # 宽
height = Inches(4)  # 高
textbox = page.shapes.add_textbox(left,top,width,height)
# 文本框的内容
# textbox.text = "这是文本框的内容这是文本框的内容这是文本框的内容"
# 文本框的段落
para = textbox.text_frame.add_paragraph()
para.text = "文本框的段落内容文本框的段落内容文本框的段落内容文本框的段落内容"

ppt.save('test222.pptx')

在这里插入图片描述

存在的问题
虽然给文本框设定了一个宽度和高度,但是里面的内容仍然会超出它的边界,这个问题需要解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值