python自动化系列:自动制作PPT演示稿(多种元素)

作品介绍

作品名称:自动制作PPT演示稿(多种元素)

开发环境:PyCharm 2023.3.4 + python3.7

用到的库:pptx

作品简介:该实例使用python-pptx库从头开始创建一个包含多种元素(如标题、文本、图片、图表)的PowerPoint演示文稿。

实现过程

一、代码设计

以下是代码的工作流程:

  1. 初始化与幻灯片布局:

  2. 首先导入必需的库,并创建一个Presentation对象。

  3. 使用不同的幻灯片布局(如标题幻灯片、标题+内容、两栏内容等)来添加幻灯片,通过索引访问布局(如prs.slide_layouts[0]对应标题幻灯片布局)。

  4. 添加文本:

  5. 直接访问幻灯片的形状集合,通过索引(如placeholders[0]通常是标题,placeholders[1]是副标题或其他内容区域)来定位并修改文本。

  6. 插入图片:

  7. 使用add_picture方法指定图片路径、在幻灯片上的位置以及尺寸,实现图片的插入。

  8. 创建图表:

  9. 通过CategoryChartData创建数据源,定义分类和系列数据。

  10. 使用add_chart方法添加图表到幻灯片,指定图表类型、位置和大小。

  11. 自定义文本框与对齐:

  12. 在最后一个幻灯片中手动添加了一个文本框,并通过调整位置使其居中。

  13. 设置文本段落的对齐方式为居中。

  14. 保存演示文稿:

  15. 最后,使用save方法保存创建好的演示文稿到指定路径。


"""
利用python制作ppt演示稿
基础知识:
Inches(10)=25.4cm 即默认的ppt宽度值
Inches(7.5)=25.4cm*0.75=19.05cm
"""
from pptx import Presentation
from pptx.util import Inches
from pptx.chart.data import CategoryChartData
from pptx.enum.chart import XL_CHART_TYPE

# 创建演示文稿对象
prs = Presentation()

# 添加第一个幻灯片:标题和副标题
slide1 = prs.slides.add_slide(prs.slide_layouts[0])  # 使用模板0
title = slide1.shapes.title
title.text = '欢迎使用Python-pptx'

# 添加副标题
subtitle = slide1.placeholders[1]
subtitle.text = '自动化生成PowerPoint演示文稿'

# 添加第二个幻灯片:标题和内容
slide2 = prs.slides.add_slide(prs.slide_layouts[9])  # 使用模板9
title2 = slide2.shapes.title
title2.text = '演示文稿中的内容'
# 添加内容
content = slide2.placeholders[1]
content.text = '广州市,简称“穗”,别称羊城、花城、五羊城,广东省辖地级市,是广东省省会、副省级市、国家中心城市、超大城市,地处中国华南地区、珠江下游、濒临南海,是广州都市圈核心城市,国务院批复确定的中国重要的中心城市、国际商贸中心和综合交通枢纽,世界一线城市。'

# 添加第三个幻灯片:插入图片
slide3 = prs.slides.add_slide(prs.slide_layouts[5])  # 使用模板5
title3 = slide3.shapes.title
title3.text = '演示文稿中的图片'
# 插入图片
img_path = './market.jpg'  # 更改为图片的实际路径
left = Inches(1)
top = Inches(2)
width = Inches(8)
height = Inches(4)
slide3.shapes.add_picture(img_path, left, top, width, height)

# 添加第四个幻灯片:插入图表
slide4 = prs.slides.add_slide(prs.slide_layouts[5])  # 使用模板5
title4 = slide4.shapes.title
title4.text = '演示文稿中的图表'
# 插入图表
chart_data = CategoryChartData()
chart_data.categories = ['第一季度', '第二季度', '第三季度', '第四季度']
chart_data.add_series('参观人数', (20, 40, 30, 50))
x, y, cx, cy = Inches(1), Inches(2), Inches(8), Inches(4)
chart = slide4.shapes.add_chart(XL_CHART_TYPE.COLUMN_CLUSTERED, x, y, cx, cy, chart_data).chart

# 添加第五个幻灯片:结束语
slide5 = prs.slides.add_slide(prs.slide_layouts[6])  # 使用模板6
# 在幻灯片上添加文本框,设置其大小和位置
left = (prs.slide_width - Inches(6)) / 2  # 假设文本框宽度为6英寸
top = (prs.slide_height - Inches(1)) / 2  # 假设文本框高度为1英寸
textbox = slide5.shapes.add_textbox(left, top, Inches(6), Inches(1))
# 添加文本到文本框
tf = textbox.text_frame
p = tf.add_paragraph()
p.text = '谢谢观看'
p.alignment = 2  # 2 代表水平居中对齐

# 保存演示文稿
prs.save('example.pptx')
print('制作完成!')

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

👉Python必备开发工具👈

👉Python学习视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

这份完整版的Python全套学习资料已经打包好了,朋友们如果需要可以微信添加文末 Python笔记领取即可获取二维码免费获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值