史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了( 二 )

结果如下:
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
4、利用python像PPT中写入内容1)幻灯片模板及占位符的概念
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
2)怎么自定义母版?
3)什么是版式?这个概念在下面的效果中 , 会得以体现 。 其中prs.slide_layouts传入0表示获取的是第一个版式 , 传入1表示获取的是第二个版式 , 以此类推下去 。
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
4)添加Slide和内容这里就需要使用上述的自定义母版 。 因为毕竟是使用python操作PPT , 我们可以定义好自己想要展示的PPT母版 , 然后借助代码完成PPT的内容写入操作 。
① 占位符id的确认import pptxfrom pptx import Presentationprs = Presentation("空白.pptx")# prs.slide_layouts表示的是ppt中不同的版式slide = prs.slides.add_slide(prs.slide_layouts[0])for shape in slide.placeholders:phf = shape.placeholder_formatprint(f"{phf.idx}--{shape.name}--{phf.type}")shape.text = f"{phf.idx}--{shape.name}--{phf.type}"# 注意:做完这个操作 , 一定要记得保存一下!prs.save("电子奖状模板.pptx")"""上述打印结果如下:0--Title 1--TITLE (1) 这个表示标题占位符 , id为013--Picture Placeholder 2--PICTURE (18) 这个表示图片占位符 , id为1314--Text Placeholder 3--BODY (2) 这个表示正文内容占位符 , id为1415--Text Placeholder 4--BODY (2) 这个表示正文内容占位符 , id为15我们一定要先知道每个空格的占位符id , 才可以进行下面内容的填充 。 """效果如下:
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
② PPT内容的填写import pptxfrom pptx import Presentationprs = Presentation("空白.pptx")slide = prs.slides.add_slide(prs.slide_layouts[0])name = slide.placeholders[14]why = slide.placeholders[15]name.text = "黄同学"why.text = "学习太积极"prs.save("内容填充.pptx")效果如下:
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
5)添加段落① 占位符id的确认import pptxfrom pptx import Presentationprs = Presentation("finall.pptx")slide = prs.slides.add_slide(prs.slide_layouts[0])for shape in slide.placeholders:phf = shape.placeholder_formatprint(f"{phf.idx}--{shape.name}--{phf.type}")shape.text = f"{phf.idx}--{shape.name}--{phf.type}"print("-------------------------------------------")slide = prs.slides.add_slide(prs.slide_layouts[1])for shape in slide.placeholders:phf = shape.placeholder_formatprint(f"{phf.idx}--{shape.name}--{phf.type}")shape.text = f"{phf.idx}--{shape.name}--{phf.type}"prs.save("哈哈.pptx")效果如下:
史上最全的Python操作 PPT 文档大全,以后写数据分析报告靠它了文章插图
② 段落的添加import pptxfrom pptx import Presentationprs = Presentation("finall.pptx")slide = prs.slides.add_slide(prs.slide_layouts[0])name = slide.placeholders[14]why = slide.placeholders[15]name.text = "黄同学"why.text = "学习太积极"# --------------------------------------------------- #prs1 = Presentation("finall.pptx")slide1 = prs.slides.add_slide(prs.slide_layouts[1])shapes = slide1.shapestitle_shape = shapes.title # 这句代码可以改为title_shape = shapes.placeholders[0]body_shape = shapes.placeholders[1]title_shape.text = "这是一个标题"tf = body_shape.text_frame# 这句代码就是给body占位符添加内容!tf.text = "带圆点的符号1"p = tf.add_paragraph# 这个代码表示在原来的基础上 , 添加第一个段落!p.text = "带圆点的符号2"p = tf.add_paragraph# 这个代码表示在原来的基础上 , 添加第二个段落!p.text = "带圆点的符号3"prs.save("嘿嘿.pptx")