0
点赞
收藏
分享

微信扫一扫

【python自动写PPT参考资料及文档】

窗外路过了谁 2022-04-21 阅读 69
python

【思路】:
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”)

举报

相关推荐

0 条评论