Expand description
§单张幻灯片(Slide)—— 高阶 API
对标 python-pptx 中 pptx.slide.Slide 类。
在三层架构中处于高阶 API 层,直接聚合 Shapes / ShapesMut
视图(用于访问形状集合),并通过 inner: OxmlSld 桥接到 crate::oxml::slide
中的 OOXML 模型。
§设计要点
- 每个
Slide独立持有一份OxmlSld,不跨 slide 共享; id_counter与Presentation共享 —— 保证跨 slide 的 shape id 全局唯一;- 形状增删只走
shapes_mut(),走完整借用检查(&mut Slide才能 mutate)。
§示例
use pptx_rs::Presentation;
use pptx_rs::Inches;
let mut p = Presentation::new().unwrap();
let counter = p.id_counter();
let s = p.slides_mut().add_slide(counter).unwrap();
s.shapes_mut().add_textbox_with_text(
Inches(1.0), Inches(1.0), Inches(4.0), Inches(1.0),
"hello",
).unwrap();(doctest 用 unwrap 仅为缩短示例;生产代码应使用 ? 传播错误。)
Structs§
- Shapes
- 不可变形状视图。
- Shapes
Mut - 可变形状视图。
- Slide
- 幻灯片的高阶包装。直接拥有 oxml
OxmlSld。 - Slide
Background - Slide 的“高阶背景“句柄(对标 python-pptx
_Background)。 - SlideId
- 幻灯片 ID(指向
sldIdLst中的条目)。 - Slide
Ref - 关系 id 引用(指向
ppt/slides/slideN.xml)。 - Slides
Slides——crate::presentation::Presentation上的幻灯片集合。