使用 DeepSeek 制作 PPT 的完整流程

1. 技术 Prompt 设计
  • 明确目标:设计精准的初始指令,例如:
    "生成 Python 代码,使用 python-pptx 库创建 5 页幻灯片:封面、目录、3个内容页。主题为'人工智能发展史',包含标题、文字和图片占位符"
  • 关键要素
    • 指定技术栈(如 python-pptx
    • 定义结构(页数、布局)
    • 内容约束(主题、元素类型)
    • 格式要求(字体、配色)
  • 示例 Prompt
    生成代码:用 python-pptx 创建 3 页幻灯片。封面标题为$f(x)=e^{x}$的数学应用,目录页含3个条目,内容页每页含1个公式$$ \int_{a}^{b} f(x)dx $$和1张图片占位符。使用深蓝背景,白色字体。
    

2. 代码迭代
  • 首轮生成
    from pptx import Presentation
    prs = Presentation()
    
    # 封面页
    slide_cover = prs.slides.add_slide(prs.slide_layouts[0])
    title = slide_cover.shapes.title
    title.text = "数学函数应用"
    
    # 内容页
    slide_content = prs.slides.add_slide(prs.slide_layouts[1])
    title = slide_content.shapes.title
    title.text = "积分公式"
    content = slide_content.placeholders[1]
    content.text = "$$ \int_{a}^{b} f(x)dx $$"
    
    prs.save("math_presentation.pptx")
    

  • 迭代优化
    1. 问题反馈"公式未正确渲染,需添加 LaTeX 转图片功能"
    2. 改进代码:增加 Matplotlib 公式转图片:
      import matplotlib.pyplot as plt
      plt.axis('off')
      plt.text(0.5, 0.5, r'$\int_{a}^{b} f(x)dx$', fontsize=24)
      plt.savefig('formula.png')
      slide_content.shapes.add_picture('formula.png', left, top)
      

3. 排版美化
  • 布局优化
    • 使用 slide_layouts[6](空白布局)精确定位元素
    • 设置元素坐标:shapes.add_textbox(left, top, width, height)
  • 视觉增强
    from pptx.util import Pt, Inches
    from pptx.dml.color import RGBColor
    
    # 标题样式
    title.text_frame.paragraphs[0].font.color.rgb = RGBColor(0, 32, 96)
    title.text_frame.paragraphs[0].font.size = Pt(36)
    
    # 背景色
    background = slide.background
    fill = background.fill
    fill.solid()
    fill.fore_color.rgb = RGBColor(240, 248, 255)
    

4. 导出与交付
  • 文件导出
    prs.save("final_presentation.pptx")
    

  • 兼容性处理
    • 添加字体嵌入(避免跨设备字体丢失)
    • 压缩图片分辨率(控制文件大小)
  • 交付检查表
    ✅ 所有公式渲染正确  
    ✅ 图片位置无偏移  
    ✅ 动画效果(如需要)  
    ✅ 文件大小 < 20MB
    

全流程示例

# 最终代码框架
import matplotlib.pyplot as plt
from pptx import Presentation
from pptx.util import Inches

# LaTeX公式转图片函数
def formula_to_image(formula, filename):
    plt.figure(figsize=(3, 1))
    plt.axis('off')
    plt.text(0.5, 0.5, f'${formula}$', fontsize=20, ha='center')
    plt.savefig(filename, bbox_inches='tight')
    plt.close()

# 主流程
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[6])  # 空白布局

# 添加动态标题
title_box = slide.shapes.add_textbox(Inches(1), Inches(0.5), Inches(8), Inches(1))
title = title_box.text_frame
title.text = "深度学习中的优化算法"
title.paragraphs[0].font.bold = True

# 添加公式
formula_to_image(r'\min_{\theta} L(\theta)', 'formula1.png')
slide.shapes.add_picture('formula1.png', Inches(3), Inches(2))

prs.save("AI_Presentation.pptx")

关键提示

  1. Prompt 设计原则

    • 使用技术关键词(如 python-pptx, add_slide
    • 量化需求(页数/尺寸:Inches(3)/字号:Pt(24)
    • 明确例外处理(如图片缺失时的占位符)
  2. 常见优化方向

    • 布局响应式调整:根据内容量动态计算坐标
    • 主题色系统一:通过 RGBColor 建立配色方案
    • 批量生成:用循环处理多页相似布局
  3. 高级技巧

    # 添加动态进度条
    for i in range(5):
        progress = slide.shapes.add_shape(MSO_SHAPE.RECTANGLE, x, y, width*i/5, height)
        progress.fill.solid()
        progress.fill.fore_color.rgb = RGBColor(100, 200*i, 50)
    

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐