simple/
simple.rs

1use shapdf::*;
2use std::error::Error;
3
4fn main() -> Result<(), Box<dyn Error>> {
5    let mut generator = Generator::new("output/shapes.pdf".into());
6    // Generator::set_default_page_size(Pt(800.), Pt(800.));
7    generator.add_page();
8    generator
9        .circle(Mm(20.), Mm(20.), Mm(10.))
10        .with_color(NamedColor("blue"))
11        .draw();
12    generator
13        .line(Pt(500.), Pt(600.), Pt(300.), Pt(400.))
14        .with_width(Mm(10.))
15        .with_cap_type(CapType::Round)
16        .with_color(NamedColor("red"))
17        .draw();
18    generator.add_page_letter();
19    generator
20        .rectangle(Mm(80.), Mm(180.), Mm(50.), Mm(30.))
21        .with_anchor(Anchor::Center)
22        .with_angle(Degree(30.))
23        .draw();
24    generator
25        .circle(Mm(80.), Mm(180.), Mm(1.))
26        .with_color(NamedColor("green"))
27        .draw();
28    generator.add_page_a4();
29    generator.write_pdf()?;
30    println!("PDF generated successfully!");
31    Ok(())
32}