layout_demo/
layout_demo.rs1use ppt_rs::generator::{create_pptx_with_content, SlideContent, SlideLayout};
2
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let slides = vec![
5 SlideContent::new("Welcome to Layout Demo")
7 .layout(SlideLayout::TitleOnly),
8
9 SlideContent::new("Centered Title Slide")
11 .layout(SlideLayout::CenteredTitle)
12 .title_size(60)
13 .title_color("4F81BD"),
14
15 SlideContent::new("Standard Layout")
17 .add_bullet("Point 1: Title at top")
18 .add_bullet("Point 2: Content below")
19 .add_bullet("Point 3: Most common layout")
20 .layout(SlideLayout::TitleAndContent),
21
22 SlideContent::new("Big Content Area")
24 .add_bullet("More space for content")
25 .add_bullet("Smaller title area")
26 .add_bullet("Good for detailed slides")
27 .add_bullet("Maximizes content space")
28 .layout(SlideLayout::TitleAndBigContent),
29
30 SlideContent::new("Two Column Layout")
32 .add_bullet("Left column content")
33 .add_bullet("Organized side by side")
34 .add_bullet("Great for comparisons")
35 .layout(SlideLayout::TwoColumn),
36
37 SlideContent::new("")
39 .layout(SlideLayout::Blank),
40
41 SlideContent::new("Summary")
43 .title_size(48)
44 .title_bold(true)
45 .title_color("C0504D")
46 .add_bullet("Layout types implemented:")
47 .add_bullet("• TitleOnly - Just title")
48 .add_bullet("• CenteredTitle - Title centered")
49 .add_bullet("• TitleAndContent - Standard")
50 .add_bullet("• TitleAndBigContent - Large content")
51 .add_bullet("• TwoColumn - Side by side")
52 .add_bullet("• Blank - Empty slide")
53 .content_size(20)
54 .layout(SlideLayout::TitleAndContent),
55 ];
56
57 let pptx_data = create_pptx_with_content("Layout Demo Presentation", slides)?;
58 std::fs::write("layout_demo.pptx", pptx_data)?;
59 println!("✓ Created layout_demo.pptx with 7 slides demonstrating different layouts");
60
61 Ok(())
62}