Python结合ppt模板的方式创建ppt

1.设计模板ppt文件

这里我们使用依靠模板ppt文件的方式来自动化创建ppt,减少后续在代码中设置ppt样式。在模板里面我们设置好要填写的区域并设置好样式,之后填写内容时将自动为该样式。
设置模板ppt方式如下:
(1)创建一个新ppt模板model.pptx,打开ppt,点击【视图】->【幻灯片母版】
image
(2)设置需要的填写区域和样式
这里左侧栏是幻灯片母版,应对各种幻灯片的需要设计多种母版幻灯片。我设计了两个幻灯片母版,第一个设计了两块填写区域。
image

2.根据模板自动化创建ppt

(1)加载模板ppt文件
需要导入库:from pptx import Presentation

from pptx import Presentation
prs = Presentation("model.pptx")

(2)按照第一个幻灯片模板创建一张幻灯片对象

# 按照第一个幻灯片母板新添一张幻灯片
oneSlide = prs.slides.add_slide(prs.slide_layouts[0])

prs.slides是获取该ppt全部幻灯片对象
prs.slides[0]是获取该ppt第一个幻灯片对象
prs.slides.add_slide()方法是添加一个新的幻灯片
prs.slide_layouts是获取该ppt全部幻灯片母板对象
prs.slide_layouts[0]是获取该ppt第一个幻灯片母板对象
(3)向幻灯片中添加内容
①添加备注

oneSlide.notes_slide.notes_text_frame.text = "这是一个备注"

②添加正文

# 获取模板可填充的所有位置对象
body_shapes = oneSlide.shapes.placeholders

# 第一个可填充位置对象
shape = body_shapes[0]

# 获取当前位置的text_frame属性
text_frame = shape.text_frame

# 添加一个段落对象
paragraph = text_frame.add_paragraph()

# 给段落添加内容
paragraph.text = "这是一个段落内容"


③调整样式
如果需要再调整样式,可以使用代码来调整

# 该段落设置为大纲等级0的样式
paragraph.level = 0

# 修改段落字体颜色
paragraph.font.color.rgb = RGBColor(128, 0, 0)

# 段落加粗
paragraph.bold = True

④添加图片
需要导入from pptx.util import Inches

# 调整图片位置
left, top, width, height = (Inches(6),Inches(2),Inches(6),Inches(2))
# 填充图片,img为土图片地址
oneSlide.shapes.add_picture(img, left, top, width, height)

(4)保存ppt

# 保存在pptPath路径下
prs.save(pptPath)

演示如下:

from pptx import Presentation
from pptx.util import Inches

prs = Presentation("data_0112\model.pptx")
oneSlide = prs.slides.add_slide(prs.slide_layouts[0])
oneSlide.notes_slide.notes_text_frame.text = "这是一个备注"

# 获取模板可填充的所有位置对象
body_shapes = oneSlide.shapes.placeholders

# 第一个可填充位置对象
shape = body_shapes[0]
# 第二个可填充位置对象
shape2 = body_shapes[1]

# 获取当前位置的text_frame属性
text_frame = shape.text_frame
text_frame2 = shape2.text_frame

# 添加一个段落对象
paragraph = text_frame.add_paragraph()
paragraph2 = text_frame2.add_paragraph()

# 给段落添加内容
paragraph.text = "这是标题"
paragraph2.text = "这是副标题"

# 调整图片位置
left, top, width, height = (Inches(6),Inches(2),Inches(6),Inches(2))
# 填充图片
oneSlide.shapes.add_picture(r'data_0112\assets\2022-02-22-09-14-35.png', left, top, width, height)

# 保存在pptPath路径下
prs.save(r'data_0112\test_0112.pptx')

ppt效果如下图:
image

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值