首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >终极版PPT模版

终极版PPT模版

原创
作者头像
用户12501860
发布2026-05-24 12:07:55
发布2026-05-24 12:07:55
770
举报

from pptx import Presentation

from pptx.util import Cm, Pt

from pptx.enum.text import PP_ALIGN

from pptx.dml.color import RGBColor

# 16:9 纯白背景PPT

prs = Presentation()

prs.slide_width = 9144000

prs.slide_height = 5143500

# 颜色配置

WHITE = RGBColor(255, 255, 255)

BLUE = RGBColor(0, 112, 192)  # 圆角蓝色框

RED = RGBColor(255, 0, 0)

BLACK = RGBColor(0, 0, 0)

FONT = "微软雅黑"

# 纯白背景设置

def set_white_bg(slide):

fill = slide.background.fill

fill.solid()

fill.fore_color.rgb = WHITE

# 纯文字绘制(支持下划线、斜体)

def draw_text(slide, x, y, text, color=BLACK, size=16, align=PP_ALIGN.LEFT, underline=False, italic=False):

textbox = slide.shapes.add_textbox(Cm(x), Cm(y), Cm(10), Cm(1))

tf = textbox.text_frame

tf.text = text

para = tf.paragraphs[0]

para.alignment = align

font = para.font

font.name = FONT

font.size = Pt(size)

font.color.rgb = color

font.underline = underline

font.italic = italic

# 文本框透明无框

textbox.fill.background()

textbox.line.fill.background()

# 圆角蓝色方框(白色文字居中)

def draw_rounded_blue_box(slide, x, y, w, h, text):

# 5代表圆角矩形形状

shape = slide.shapes.add_shape(5, Cm(x), Cm(y), Cm(w), Cm(h))

shape.fill.solid()

shape.fill.fore_color.rgb = BLUE

shape.line.color.rgb = BLUE

shape.adj1 = 15000 # 圆角程度

tf = shape.text_frame

tf.text = text

tf.paragraphs[0].alignment = PP_ALIGN.CENTER

font = tf.paragraphs[0].font

font.name = FONT

font.size = Pt(14)

font.color.rgb = WHITE

# -------------------- 第1页(完全按你给的效果) --------------------

slide1 = prs.slides.add_slide(prs.slide_layouts[6])

set_white_bg(slide1)

# 1. 我是豆包(红色):红色+下划线

draw_text(slide1, 1, 1, "我是豆包(红色)", RED, 18, underline=True)

# 2. 合并判定:黑色+下划线+斜体

draw_text(slide1, 16, 1, "合并判定", BLACK, 18, align=PP_ALIGN.CENTER, underline=True, italic=True)

# 3. pass rate 圆角蓝色框

draw_rounded_blue_box(slide1, 1, 3, 6, 1.2, "pass rate")

# 4. Bin map 普通文字居中

draw_text(slide1, 3, 4.8, "Bin map", BLACK, 20, align=PP_ALIGN.CENTER)

# 5. Fail rate 圆角蓝色框

draw_rounded_blue_box(slide1, 1, 6, 6, 1.2, "Fail rate")

# 6. TD Product Team 红色文字

draw_text(slide1, 13, 10, "TD Product Team", RED, 18, align=PP_ALIGN.CENTER)

# -------------------- 第2页 --------------------

slide2 = prs.slides.add_slide(prs.slide_layouts[6])

set_white_bg(slide2)

draw_text(slide2, 1, 1, "我是豆包(红色字体)", RED, 18, underline=True)

draw_text(slide2, 16, 1, "合并判定", BLACK, 18, align=PP_ALIGN.CENTER, underline=True, italic=True)

# 左右两列文字

left_items = ["S", "M", "FG", "Single"]

right_items = ["BL", "WL", "others"]

y_base = 3

gap = 2

for idx, text in enumerate(left_items):

draw_text(slide2, 2, y_base + idx*gap, text, BLACK, 22, align=PP_ALIGN.CENTER)

for idx, text in enumerate(right_items):

draw_text(slide2, 13, y_base + idx*gap, text, BLACK, 22, align=PP_ALIGN.CENTER)

draw_text(slide2, 13, 12, "TD Product Team", RED, 18, align=PP_ALIGN.CENTER)

# -------------------- 第3页 --------------------

slide3 = prs.slides.add_slide(prs.slide_layouts[6])

set_white_bg(slide3)

draw_text(slide3, 1, 1, "我是豆包(红色字体)", RED, 18, underline=True)

draw_text(slide3, 16, 1, "两方 黑色", BLACK, 18, align=PP_ALIGN.CENTER, underline=True, italic=True)

# 左侧条目

page3_items = ["3-8PL", "2PL SCV", "2PL others", "1PL"]

y_p3 = 3

gap_p3 = 1.5

for idx, text in enumerate(page3_items):

draw_text(slide3, 2, y_p3 + idx*gap_p3, text, BLACK, 16, align=PP_ALIGN.CENTER)

draw_text(slide3, 13, 9, "TD Product. Team", RED, 18, align=PP_ALIGN.CENTER)

# 保存文件

prs.save("最终完善版_圆角下划线斜体.pptx")

print("✅ 全部修改完成!")

print("1. 我是豆包:红色+下划线")

print("2. 合并判定:黑色+下划线+斜体")

print("3. pass rate/Fail rate:圆角蓝色框+白色文字")

print("4. 所有页面纯白背景,无多余元素")

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档