有一些ppt很类似,都是差不多的内容形式,重复的工作应该交给电脑,所以选择python和一个第三方的python-pptx库写了个程序。
首先要先安装pptx
pip install python-pptx
程序设计了三种内容放置位置,只用到了矩形和连接线两种形状元素,gen_title_slide生成标题帧,generate根据内容文本文件和内容放置位置调用generateppt_para生成内容帧,代码将就看吧。
详细开发文档和API文档看一看python-pptx官方文档网站
献上代码
from pptx import Presentation
from pptx.enum.shapes import MSO_SHAPE, MSO_CONNECTOR
from pptx.enum.text import MSO_AUTO_SIZE, PP_ALIGN, MSO_ANCHOR
from pptx.dml.color import RGBColor
from pptx.util import Inches, Pt, Cm, Emu
title= '我是一个标题'
name = '我是作者'
dt = '2021年01月21日'
filename = 'demo.txt'
ppt_tmpl = 'tmpl.pptx'
#generate first title slide
def gen_title_slide(prs, slide):
title_slide_data = [
{'title': title, 'po': [Emu(0), Cm(5), Emu(prs.slide_width), Pt(50)], 'fontsize':Pt(40), 'fontcolor' : RGBColor(0, 0, 0)},
{'title': name, 'po': [Emu(0), Cm(9), Emu(prs.slide_width), Pt(50)], 'fontsize':Pt(30), 'fontcolor' : RGBColor(0, 0, 0)},
{'title': dt, 'po': [Emu(0), Cm(13.5), Emu(prs.slide_width), Pt(50)], 'fontsize':Pt(30), '