名称: powerpoint-presentations 描述: 使用python-pptx通过Bedrock Code Interpreter创建、修改和管理PowerPoint演示文稿。
PowerPoint演示文稿
快速参考
| 任务 | 方法 |
|---|---|
| 创建新演示文稿 | get_slide_code_examples → create_presentation |
| 编辑现有演示文稿 | analyze_presentation → update_slide_content。详情请阅读editing-guide.md。 |
| 验证 | 每次更改后调用preview_presentation_slides |
设计理念
不要创建无聊的幻灯片。 白色背景上的普通项目符号不会给任何人留下印象。
开始之前
- 选择大胆、内容相关的调色板:调色板应感觉为这个主题设计。
- 主导色优于平等:一种颜色主导(60-70%的视觉权重),辅以1-2种支持色调和一种鲜明的强调色。永远不要给所有颜色相等的权重。
- 暗/亮对比:标题和结论幻灯片使用深色背景,内容幻灯片使用浅色调。或者全程使用深色以获得高级感。
- 坚持一个视觉主题:选择一个独特的元素并重复它——圆角图像框、彩色圆圈中的图标、厚单侧边框。
颜色调色板
选择与主题匹配的颜色——不要默认使用通用蓝色。
| 主题 | 主色 | 强调色 | 文本颜色 |
|---|---|---|---|
| 午夜行政 | 1E2761 (海军蓝) |
408EC6 (蓝色) |
FFFFFF |
| 青柠信任 | 0A1A2A (木炭色) |
028090 (青柠色) |
FFFFFF |
| 森林与苔藓 | 2C5F2D (森林绿) |
97BC62 (苔藓绿) |
FFFFFF |
| 浆果与奶油 | ECE2D0 (奶油色) |
6D2E46 (浆果色) |
333333 |
| 珊瑚能量 | 1A1A2E (午夜色) |
FF6F61 (珊瑚色) |
FFFFFF |
| 海洋渐变 | 065A82 (海洋蓝) |
1B9AAA (水绿色) |
FFFFFF |
| 木炭极简 | 1C1C1E (近黑色) |
E8E8E8 (灰色) |
FFFFFF |
| 樱桃大胆 | 150E11 (勃艮第色) |
990011 (樱桃红) |
FFFFFF |
| 鼠尾草平静 | 2D3A2D (鼠尾草绿) |
8FB96A (绿色) |
FFFFFF |
对于每张幻灯片
每张幻灯片都需要一个视觉元素——图像、图表、图标或形状。纯文本幻灯片容易被遗忘。
布局选项:两列、图标+文本行、2x2网格、半出血图像叠加、大型统计突出显示(48-120pt)、时间线/流程图。
排版
| 元素 | 大小 | 字体 |
|---|---|---|
| 幻灯片标题 | 36-44pt 粗体 | Georgia 或 Arial Black |
| 正文文本 | 14-16pt | Calibri |
| 统计/数字 | 48-120pt 粗体 | — |
字体配对:Georgia + Calibri(经典)、Arial Black + Arial(现代)、Calibri Bold + Calibri Light(企业)。正文文本左对齐;仅标题和统计居中对齐。
间距
- 边缘0.5英寸+边距。元素之间0.3-0.5英寸间距。标题下方0.5英寸+间距。
避免(常见错误)
- 白色背景上的普通项目符号
- 默认PowerPoint蓝色(
#4472C4) - 标题正下方的强调线
- 没有视觉元素的纯文本幻灯片
- 每张幻灯片超过4个项目符号点
- 每张幻灯片重复相同的布局
参见design-guide.md获取视觉元素代码模式(强调条、图标圆圈、侧条纹)和详细的反模式解释。
工作流程
- 创建:首先调用
get_slide_code_examples(使用"design_reference"获取调色板和字体配对)→ 然后使用slides参数调用create_presentation。 - 编辑:阅读editing-guide.md获取详细编辑工作流程。然后:
analyze_presentation→ 识别元素ID →update_slide_content。 - 验证:任何修改后调用
preview_presentation_slides。假设存在问题——仔细检查。
规则
- 将所有编辑批处理在ONE
update_slide_content调用中。并行调用会导致数据丢失。 output_name必须与presentation_name不同。- 所有幻灯片索引都是0-based,除了
preview_presentation_slides使用1-basedslide_numbers。 - 文件名:仅限字母、数字、连字符。
工具参考
get_slide_code_examples
获取python-pptx代码示例作为创建幻灯片的参考。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
category |
str | 否(默认"text_layout") | "text_layout", "number_highlight", "grid_layout", "image_text", "visual_emphasis", "design_reference", "all" |
create_presentation
使用自定义设计的幻灯片创建新演示文稿(16:9宽屏)。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
presentation_name |
str | 是 | 不带扩展名的文件名(仅限字母、数字、连字符) |
slides |
列表或null | 是 | {"custom_code": "..."}字典列表,或null表示空白 |
template_name |
str | 否 | 用作基础的模板文件名 |
示例tool_input:
{
"presentation_name": "my-deck",
"slides": [
{"custom_code": "from pptx.util import Inches, Pt
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN
title = slide.shapes.add_textbox(Inches(1), Inches(1), Inches(8), Inches(1.5))
tf = title.text_frame
p = tf.paragraphs[0]
p.text = 'Welcome'
p.font.size = Pt(44)
p.font.bold = True
p.font.color.rgb = RGBColor(0xFF, 0xFF, 0xFF)
slide.background.fill.solid()
slide.background.fill.fore_color.rgb = RGBColor(0x1E, 0x27, 0x61)"}
]
}
重要:slides参数接受{"custom_code": "..."}字典列表。在custom_code中可用:prs, slide, slide_width, slide_height, Inches, Pt, RGBColor, PP_ALIGN, MSO_SHAPE。
analyze_presentation
分析结构,包括元素ID和位置,以便编辑。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
presentation_name |
str | 是 | 要分析的演示文稿 |
slide_index |
int | 否 | 仅分析特定幻灯片 |
include_notes |
bool | 否(默认false) | 包括演讲者备注 |
update_slide_content
在单个调用中更新一个或多个幻灯片。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
presentation_name |
str | 是 | 源文件 |
slide_updates |
列表 | 是 | 更新操作列表 |
output_name |
str | 是 | 输出文件名(必须与源不同) |
每个操作支持的动作:set_text, replace_text, replace_image, run_code。详情参见editing-guide.md。
add_slide
在特定位置添加新幻灯片。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
presentation_name |
str | 是 | 源演示文稿 |
layout_name |
str | 是 | 来自get_presentation_layouts的布局名称 |
position |
int | 是 | 0-based索引(-1表示追加到末尾) |
output_name |
str | 是 | 输出文件名 |
custom_code |
str | 否 | 用于自定义幻灯片的Python-pptx代码 |
delete_slides
按索引删除幻灯片。
| 参数 | 类型 | 必需 |
|---|---|---|
presentation_name |
str | 是 |
slide_indices |
列表[int] | 是(0-based) |
output_name |
str | 是 |
move_slide
将幻灯片从一个位置移动到另一个位置。
| 参数 | 类型 | 必需 |
|---|---|---|
presentation_name |
str | 是 |
from_index |
int | 是(0-based) |
to_index |
int | 是(0-based) |
output_name |
str | 是 |
duplicate_slide
将幻灯片复制到指定位置。
| 参数 | 类型 | 必需 |
|---|---|---|
presentation_name |
str | 是 |
slide_index |
int | 是(0-based) |
position |
int | 是(0-based) |
output_name |
str | 是 |
update_slide_notes
更新特定幻灯片的演讲者备注。
| 参数 | 类型 | 必需 |
|---|---|---|
presentation_name |
str | 是 |
slide_index |
int | 是(0-based) |
notes_text |
str | 是 |
output_name |
str | 是 |
list_my_powerpoint_presentations
列出工作空间中的所有演示文稿。无需参数。
get_presentation_layouts
从演示文稿获取可用幻灯片布局。
| 参数 | 类型 | 必需 |
|---|---|---|
presentation_name |
str | 是 |
preview_presentation_slides
获取幻灯片截图以供视觉检查。
| 参数 | 类型 | 必需 | 描述 |
|---|---|---|---|
presentation_name |
str | 是 | 要预览的演示文稿 |
slide_numbers |
列表[int] | 是 | 1-based幻灯片编号(非0-based) |