skills/ppt-station-skill/ppt_station/utils/template_utils.py

38 lines
745 B
Python
Raw Permalink Normal View History

"""
模板工具函数
"""
from pptx.presentation import Presentation
from pptx.slide import Slide
def find_shape_by_name(slide: Slide, name: str):
"""
在幻灯片中查找指定名称的形状
Args:
slide: 幻灯片对象
name: 形状名称
Returns:
找到的形状对象未找到返回 None
"""
for shape in slide.shapes:
if shape.name == name:
return shape
return None
def get_slide_layouts(prs: Presentation) -> dict:
"""
获取演示文稿中的所有幻灯片版式
Args:
prs: 演示文稿对象
Returns:
版式名称到版式对象的映射字典
"""
return {layout.name: layout for layout in prs.slide_layouts}