Skip to main content

Module slide

Module slide 

Source
Expand description

§单张幻灯片(Slide)—— 高阶 API

对标 python-pptx 中 pptx.slide.Slide 类。

在三层架构中处于高阶 API 层,直接聚合 Shapes / ShapesMut 视图(用于访问形状集合),并通过 inner: OxmlSld 桥接到 crate::oxml::slide 中的 OOXML 模型。

§设计要点

  • 每个 Slide 独立持有一份 OxmlSld跨 slide 共享;
  • id_counterPresentation 共享 —— 保证跨 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
不可变形状视图。
ShapesMut
可变形状视图。
Slide
幻灯片的高阶包装。直接拥有 oxml OxmlSld
SlideBackground
Slide 的“高阶背景“句柄(对标 python-pptx _Background)。
SlideId
幻灯片 ID(指向 sldIdLst 中的条目)。
SlideRef
关系 id 引用(指向 ppt/slides/slideN.xml)。
Slides
Slides —— crate::presentation::Presentation 上的幻灯片集合。