欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小白学Python(5)——python-pptx简单应用

程序员文章站 2022-03-20 22:00:49
python-pptx允许您创建新的演示文稿以及对现有演示文稿进行更改。 实际上,它只允许您对现有演示文稿进行更改;只是,如果您从一个没有幻灯片的演示文稿开始,一开始感觉就像是从头开始创建一个幻灯片。 但是,演示文稿的外观很大程度上取决于删除所有幻灯片时剩下的部分,特别是主题、幻灯片母版和从母版派生 ......

python-pptx允许您创建新的演示文稿以及对现有演示文稿进行更改。

实际上,它只允许您对现有演示文稿进行更改;只是,如果您从一个没有幻灯片的演示文稿开始,一开始感觉就像是从头开始创建一个幻灯片。

但是,演示文稿的外观很大程度上取决于删除所有幻灯片时剩下的部分,特别是主题、幻灯片母版和从母版派生的幻灯片布局。

让我们使用示例一步一步地介绍它,从一个演示文稿可以做的两件事开始,打开它并保存它。

 

打开空白演示文稿

 

最简单的入门方法是在不指定要打开的文件的情况下打开新的演示文稿:

1 from pptx import presentation
2 prs = presentation()
3 prs.save('test.pptx')

 

打开已有ppt

1 from pptx import presentation
2 prs = presentation('科创板交易规则解读.pptx') #ppt文件名
3 prs.save('new-file-name.pptx') #另外保存文件名

 

添加幻灯片

 

1 from pptx import presentation
2 sld_layout_title_and_content = 3
3 prs = presentation()
4 slide_layout = prs.slide_layouts[sld_layout_title_and_content]
5 slide = prs.slides.add_slide(slide_layout)
6 prs.save('new-file-name.pptx')

小白学Python(5)——python-pptx简单应用

 

sld_layout_title_and_content编号可以根据实际需求变更:

 小白学Python(5)——python-pptx简单应用

添加图形

 1 from pptx import presentation
 2 from pptx.enum.shapes import mso_shape
 3 from pptx.util import inches
 4 
 5 
 6 sld_layout_title_and_content = 6
 7 prs = presentation()
 8 slide_layout = prs.slide_layouts[sld_layout_title_and_content]
 9 slide = prs.slides.add_slide(slide_layout)
10 
11 
12 shapes = slide.shapes
13 left = top = width = height = inches(1.0)
14 shape = shapes.add_shape(mso_shape.rounded_rectangle, left, top, width, height)
15 
16 prs.save('new.pptx')

 

小白学Python(5)——python-pptx简单应用

 

 插入图表

 

 1 from pptx import presentation
 2 from pptx.chart.data import categorychartdata
 3 from pptx.enum.chart import xl_chart_type
 4 from pptx.util import inches
 5 
 6 # create presentation with 1 slide ------
 7 prs = presentation()
 8 slide = prs.slides.add_slide(prs.slide_layouts[5])
 9 
10 # define chart data ---------------------
11 chart_data = categorychartdata()
12 chart_data.categories = ['east', 'west', 'midwest']
13 chart_data.add_series('series 1', (19.2, 21.4, 16.7))
14 
15 # add chart to slide --------------------
16 x, y, cx, cy = inches(2), inches(2), inches(6), inches(4.5)
17 slide.shapes.add_chart(
18     xl_chart_type.column_clustered, x, y, cx, cy, chart_data)
19 
20 prs.save('chart-01.pptx')

小白学Python(5)——python-pptx简单应用