幻灯片母板及占位符
你可以在视图的工具栏中找到幻灯片母版,你可以自己看一下!占位符(Placeholder),顾名思义就是占位的,你看到的单击此处添加标题、单击此处添加文本等都是占位符!
添加Slide和内容
查看模板信息
from pptx import Presentation
prs=Presentation('1.pptx')
# 用第一个母版生成一页PPT
slide=prs.slides.add_slide(prs.slide_layouts[0]) # 获取第一个母版
for shape in slide.placeholders: #获取这页所有的占位符
phf=shape.placeholder_format
print(f'{phf.idx}--{shape.name}--{phf.type}')
prs.save('./test.pptx')
向占位符内填写内容,shape.text=字符串,prs.save(文件路径):
from pptx import Presentation
prs=Presentation('1.pptx')
# 用第一个母版生成一页PPT
slide=prs.slides.add_slide(prs.slide_layouts[0]) # 获取第一个母版
for shape in slide.placeholders: #获取这页所有的占位符
phf=shape.placeholder_format
print(f'{phf.idx}--{shape.name}--{phf.type}')
shape.text=f'{phf.idx}--{phf.type}'
prs.save('./test.pptx')
根据占位符ID确定要填在哪里,slide.placeholders[占位符ID],然后修改占位符里的内容:
from pptx import Presentation
prs=Presentation('1.pptx')
title=prs.slide_layouts[0]
slide=prs.slides.add_slide(title)
name=slide.placeholders[0]
name.text='小学生'
content=slide.placeholders[1]
content.text='玩王者'
prs.save('./test.pptx')
我这里使用的是默认的母版,只有一个标题和内容
添加段落paragraph
from pptx import Presentation
prs=Presentation('1.pptx')
title=prs.slide_layouts[1]
slide=prs.slides.add_slide(title)
shapes=slide.shapes
title_shape=shapes.title
body_shape=shapes.placeholders[1]
title_shape.text='添加项目符号列表页'
tf=body_shape.text_frame
tf.text='带圆点的项目符号行1'
p=tf.add_paragraph() # 添加一个段落
p.text='带圆点的项目符号行2'
p=tf.add_paragraph()
p.text='带圆点的项目符号行3'
prs.save('./test.pptx')

设定层级关系,0为最顶层
p=tf.add_paragraph() # 添加一个段落
p.text='带圆点的项目符号行2'
p.level=1
p=tf.add_paragraph()
p.text='带圆点的项目符号行3'
p.level=2

添加一个文本框
from pptx import Presentation
from pptx.util import Cm,Pt
prs=Presentation('1.pptx')
title=prs.slide_layouts[6] # 挑选母版
slide=prs.slides.add_slide(title)
left=top=width=heigth=Cm(3)
text_box=slide.shapes.add_textbox(left,top,width,heigth)
tf=text_box.text_frame
tf.text='这是一段文本框里的文字'
p=tf.add_paragraph()
p.text='这是第二段文字,加粗,字号40'
p.font.bold=True
p.font.size=Pt(40)
prs.save('./test.pptx')

添加图片
from pptx import Presentation
from pptx.util import Cm,Pt
prs=Presentation('1.pptx')
title=prs.slide_layouts[6] # 挑选母版
slide=prs.slides.add_slide(title)
left=top=Cm(0)
width=height=Cm(10)
# 图片路径,距离左边,距离顶端,宽度,高度
pic=slide.shapes.add_picture('1.jpg',left,top,width,height)
left=top=Cm(10)
pic=slide.shapes.add_picture('2.jpg',left,top,width,height)
prs.save('./test.pptx')
添加表格
from pptx import Presentation
from pptx.util import Cm,Pt
prs=Presentation('1.pptx')
title=prs.slide_layouts[6] # 挑选母版
slide=prs.slides.add_slide(title)
rows,cols=4,2 # 设定4行 2列
left=top=Cm(5)
width=Cm(18)
heigth=Cm(4)
# 几行 几列
table=slide.shapes.add_table(rows,cols,left,top,width,heigth).table
table.columns[0].width=Cm(6) # 列高
table.columns[1].width=Cm(4)
table.rows[0].heigth=Cm(2)# 行宽
data=[
['姓名','成绩'],
['马冬梅',99],
['马什么梅',90],
['什么冬梅',80],
]
for row in range(rows): # 循环行
for col in range(cols): # 循环列
table.cell(row,col).text=str(data[row][col])
prs.save('./test.pptx')

声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!