【思路】:
 python中有专门处理ppt的库,可以进行操作。
 思路大致是:
 1.提前手动设置PPT母版,划分各部分区域及内容
 2.获取ppt中不同框体地址及属性;
 3.更改标题,传递值修改文本框,调整文本框;
 4.插入图片,调整图片;
 5.插入多维矩形表,做内容限定传递,外观调整;
 6.插入图表,并在图表上显示数据(预估5、6可能复杂);
 7.增加新页并做上述部分操作
官方文档:
 https://python-pptx.readthedocs.io/en/latest/user/charts.html
 博主文档:
 原文链接:https://blog.csdn.net/weixin_33326218/article/details/113478022
 https://blog.csdn.net/lsxxx2011/article/details/109396469
后续做出在继续修改
测试代码:
 import pptx
 from pptx import Presentation
prs = Presentation(“PPT模板.pptx”)
#打印页、框、文字测试
 for i,slide in enumerate(prs.slides):
 if i == 0:
 print(‘获取页:’,slide)
 for shape in slide.shapes:
 print(‘获取框:’,shape)
 if shape.has_text_frame: #是否有文字
 text_frame = shape.text_frame #获取文字框
 print(‘打印文本:’,text_frame.text)
 print(‘-----------’)
#找到ppt对应的框体id(大致浏览一下ppt页面)
 for i in range(0,5):
 print(i)
 slide = prs.slides.add_slide(prs.slide_layouts[1])
 for shape in slide.placeholders:
 phf = shape.placeholder_format
 print(f"{phf.idx}–{shape.name}–{phf.type}“)
 shape.text = f”{phf.idx}–{shape.name}–{phf.type}"
 #注意:做完这个操作,一定要记得保存一下!
 prs.save(“PPT-1模板.pptx”)
#填充ppt内容
 slide = prs.slides.add_slide(prs.slide_layouts[1])
 title = slide.placeholders[0]
 #t_p = slide.placeholders[1]
 #table = slide.placeholders[13]
 picture = slide.placeholders[14]
 text = slide.placeholders[15]
 title = " "
 #t_p = ‘’
 table = ‘’
 picture = r’C:\Users\saikm77\Desktop\图片1-博时.png’
 #text = " "
 #prs.save(“内容填充.pptx”)
prs = Presentation(“PPT-1模板.pptx”)
 for i,slide in enumerate(prs.slides):
 if i == 0:
 slide = prs.slides.add_slide(prs.slide_layouts[1])
 title = slide.placeholders[0]
 t_p = slide.placeholders[1]
 table = slide.placeholders[13]
 picture = slide.placeholders[14]
 text = slide.placeholders[15]
 text2 = slide.placeholders[2]
title = " "
 t_p = ’ ’
 table = ’ ’
 picture = ’ ’
 text = " "
 text2 = " "
 prs.save(“内容填充.pptx”)










