当前位置: 移动技术网 > IT编程>脚本编程>Python > 小白学Python(5)——python-pptx简单应用

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

2019年08月13日  | 移动技术网IT编程  | 我要评论

天香大陆,大同晚报电话,刘明寰

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')

 

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

 

添加图形

 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')

 

 

 插入图表

 

 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')

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网