chart_generation/
chart_generation.rs1use ppt_rs::generator::{
4 create_pptx_with_content, SlideContent,
5};
6
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let slides = vec![
10 SlideContent::new("Sales Dashboard 2024")
11 .add_bullet("Q1-Q4 Performance Comparison")
12 .add_bullet("Year-over-year growth analysis")
13 .add_bullet("Strategic insights and recommendations"),
14
15 SlideContent::new("Bar Chart: Quarterly Sales")
16 .add_bullet("2023 vs 2024 comparison")
17 .add_bullet("Q4 shows strongest performance")
18 .add_bullet("Overall growth: 20% YoY"),
19
20 SlideContent::new("Line Chart: Revenue Trend")
21 .add_bullet("6-month revenue tracking")
22 .add_bullet("Consistent growth trajectory")
23 .add_bullet("Exceeding targets in most months"),
24
25 SlideContent::new("Pie Chart: Market Distribution")
26 .add_bullet("Product A leads with 35% market share")
27 .add_bullet("Products B & C equally competitive")
28 .add_bullet("Product D growth opportunity"),
29 ];
30
31 let pptx_data = create_pptx_with_content("Sales Dashboard", slides)?;
33 std::fs::write("chart_example.pptx", pptx_data)?;
34
35 println!("✓ Created chart_example.pptx with:");
36 println!(" - Title slide with overview");
37 println!(" - Bar chart (Q1-Q4 sales comparison)");
38 println!(" - Line chart (monthly revenue trend)");
39 println!(" - Pie chart (market share distribution)");
40 println!("\nNote: Chart XML structures are generated. For full chart functionality,");
41 println!("additional integration with slide generation is needed.");
42
43 Ok(())
44}