python基于json来生成简洁ppt文件示例代码
代码语言:python
所属分类:其他
代码描述:python基于json来生成简洁ppt文件示例代码,使用了pptx库来通过ai生成的ppt的json配置文件赖生成pptx文件。
代码标签: python 基于 json 生成 简洁 ppt 文件 示例 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from pptx import Presentation
from pptx.util import Inches, Pt, Cm
from pptx.enum.text import PP_ALIGN, PP_PARAGRAPH_ALIGNMENT
from pptx.dml.color import RGBColor
from pptx.enum.shapes import MSO_SHAPE
import json
import sys
class PPTGenerator:
"""PPT生成器类"""
# 颜色方案
COLOR_SCHEMES = {
"暖色调": {
"primary": RGBColor(255, 107, 107), # #FF6B6B
"secondary": RGBColor(255, 217, 61), # #FFD93D
"accent": RGBColor(107, 203, 119), # #6BCB77
"text": RGBColor(51, 51, 51), # #333333
"background": RGBColor(255, 255, 255), # #FFFFFF
},
"商务简约": {
"primary": RGBColor(44, 62, 80), # #2C3E50
"secondary": RGBColor(52, 152, 219), # #3498DB
"accent": RGBColor(149, 165, 166), # #95A5A6
"text": RGBColor(51, 51, 51),
"background": RGBColor(255, 255, 255),
},
"莫兰迪色系": {
"primary": RGBColor(180, 167, 167), # #B4A7A7
"secondary": RGBColor(168, 218, 220), # #A8DADC
"accent": RGBColor(241, 250, 238), # #F1FAEE
"text": RGBColor(51, 51, 51),
"background": RGBColor(255, 255, 255),
}
}
def __init__(self, theme="商务简约"):
"""初始化PPT生成器"""
self.prs = Presentation()
# 设置幻灯片尺寸为16:9
self.prs.slide_width = Cm(33.867) # 12192000 EMU
self.prs.slide_height = Cm(19.05) # 6858000 EMU
self.theme = theme
self.colors = self.COLOR_SCHEMES.get(theme, self.COLOR_SCHEMES["商务简约"])
def add_decorative_shapes(self, slide, style="default"):
"""添加装饰形状"""
# 根据不同风格添加不同的装饰元素
if style == "cover":
# 封面装饰:左上角圆形
shape = slide.shapes.add_shape(
MSO_SHAPE.OVAL,
Inches(0.5), Inches(0.5),
Inches(1.5), Inches(1.5)
)
shape.fill.solid()
shape.fill.fore_color.rgb = self.colors["primary"]
shape.line.fill.background()
# 右下角装饰
.........完整代码请登录后点击上方下载按钮下载查看















网友评论0