python自动化生成ppt的实现代码!
python自动化生成ppt的实现代码!
在这篇博客中,我们将探讨如何使用Python库`python-pptx`来创建一个简单的PowerPoint演示文稿(PPT),这个库允许我们以编程方式创建幻灯片、添加文本、图片、表格和自定义形状,需要的朋友可以参考下。
使用Python和python-pptx创建PPT
在这篇博客中,我们将探讨如何使用Python库`python-pptx`来创建一个简单的PowerPoint演示文稿(PPT)。这个库允许我们以编程方式创建幻灯片、添加文本、图片、表格和自定义形状。
安装`python-pptx`
首先,确保你已经安装了`python-pptx`库。如果还没有安装,可以通过以下命令进行安装:
|
1
2
|
//bashpip install python-pptx |
创建PPT文档
创建一个新的PPT文档非常简单:
|
1
2
|
from pptx import Presentationprs = Presentation() |
添加标题幻灯片
我们可以添加一个包含标题和副标题的幻灯片:
|
1
2
3
4
5
|
slide = prs.slides.add_slide(prs.slide_layouts[0])title = slide.shapes.titlesubtitle = slide.placeholders[1]title.text = "Hello, World!"subtitle.text = "python-pptx was here!" |
添加带有子弹点的幻灯片
接下来,我们添加一个带有子弹点的幻灯片:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
slide = prs.slides.add_slide(prs.slide_layouts[1])title_shape = slide.shapes.titlebody_shape = slide.placeholders[1]title_shape.text = 'Adding a Bullet Slide'tf = body_shape.text_frametf.text = 'Find the bullet slide layout'p = tf.add_paragraph()p.text = 'Use _TextFrame.text for first bullet'p.level = 1p = tf.add_paragraph()p.text = 'Use _TextFrame.add_paragraph() for subsequent bullets'p.level = 2 |
添加文本框
我们还可以添加一个包含多个段落的文本框:
|
1
2
3
4
5
6
7
8
9
10
|
slide = prs.slides.add_slide(prs.slide_layouts[6])txBox = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(5), Inches(1))tf = txBox.text_frametf.text = "This is text inside a textbox"p = tf.add_paragraph()p.text = "This is a second paragraph that's bold"p.font.bold = Truep = tf.add_paragraph()p.text = "This is a third paragraph that's big"p.font.size = Pt(40) |
添加图片
向幻灯片中添加图片也很简单:
|
1
2
3
4
|
img_path = '1.png'slide = prs.slides.add_slide(prs.slide_layouts[6])slide.shapes.add_picture(img_path, Inches(1), Inches(1))slide.shapes.add_picture(img_path, Inches(5), Inches(1), height=Inches(5.5)) |
添加自定义形状
我们可以添加自定义形状来表示流程或步骤:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
slide = prs.slides.add_slide(prs.slide_layouts[5])shapes = slide.shapesshapes.title.text = 'Adding an AutoShape'left = Inches(0.93)top = Inches(3.0)width = Inches(1.75)height = Inches(1.0)shape = shapes.add_shape(MSO_SHAPE.PENTAGON, left, top, width, height)shape.text = 'Step 1'left += width - Inches(0.4)width = Inches(2.0)for n in range(2, 6):shape = shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height)shape.text = f'Step {n}'left += width - Inches(0.4) |
添加表格
最后,我们添加一个表格:
|
1
2
3
4
5
6
7
8
9
10
|
slide = prs.slides.add_slide(prs.slide_layouts[5])shapes = slide.shapesshapes.title.text = 'Adding a Table'table = shapes.add_table(2, 2, Inches(2.0), Inches(2.0), Inches(6.0), Inches(0.8)).tabletable.columns[0].width = Inches(2.0)table.columns[1].width = Inches(4.0)table.cell(0, 0).text = 'Foo'table.cell(0, 1).text = 'Bar'table.cell(1, 0).text = 'Baz'table.cell(1, 1).text = 'Qux' |
保存PPT文档
完成所有编辑后,我们将文档保存为test.pptx:
|
1
|
prs.save('test.pptx') |
效果预览






通过以上步骤,我们可以快速创建一个包含标题、子弹点、文本框、图片、自定义形状和表格的PPT文档。python-pptx库提供了丰富的功能,可以满足我们大部分的演示文稿制作需求。
学习资料见知识星球。
以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。
快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利!
更多技巧, www.excelbook.cn
欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;
1、价值上万元的专业的PPT报告模板。
2、专业案例分析和解读笔记。
3、实用的Excel、Word、PPT技巧。
4、VIP讨论群,共享资源。
5、优惠的会员商品。
6、一次付费只需129元,即可下载本站文章涉及的文件和软件。
