小白學Python(5)——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')

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM