python自动化生成ppt的实现代码!
python自动化生成ppt的实现代码!
在这篇博客中,我们将探讨如何使用Python库`python-pptx`来创建一个简单的PowerPoint演示文稿(PPT),这个库允许我们以编程方式创建幻灯片、添加文本、图片、表格和自定义形状,需要的朋友可以参考下。
使用Python和python-pptx创建PPT
在这篇博客中,我们将探讨如何使用Python库`python-pptx`来创建一个简单的PowerPoint演示文稿(PPT)。这个库允许我们以编程方式创建幻灯片、添加文本、图片、表格和自定义形状。
安装`python-pptx`
首先,确保你已经安装了`python-pptx`库。如果还没有安装,可以通过以下命令进行安装:
1
2
|
//bash pip install python-pptx |
创建PPT文档
创建一个新的PPT文档非常简单:
1
2
|
from pptx import Presentation prs = Presentation() |
添加标题幻灯片
我们可以添加一个包含标题和副标题的幻灯片:
1
2
3
4
5
|
slide = prs.slides.add_slide(prs.slide_layouts[ 0 ]) title = slide.shapes.title subtitle = 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.title body_shape = slide.placeholders[ 1 ] title_shape.text = 'Adding a Bullet Slide' tf = body_shape.text_frame tf.text = 'Find the bullet slide layout' p = tf.add_paragraph() p.text = 'Use _TextFrame.text for first bullet' p.level = 1 p = 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_frame tf.text = "This is text inside a textbox" p = tf.add_paragraph() p.text = "This is a second paragraph that's bold" p.font.bold = True p = 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.shapes shapes.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.shapes shapes.title.text = 'Adding a Table' table = shapes.add_table( 2 , 2 , Inches( 2.0 ), Inches( 2.0 ), Inches( 6.0 ), Inches( 0.8 )).table table.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、一次付费只需99元,即可下载本站文章涉及的文件和软件。
共有 0 条评论