example_page_size/
example_page_size.rs

1use fpdf::{Fpdf, Orientation, PageSize, Pdf, Unit, UnitVec2};
2
3fn main() {
4    let mut pdf = Fpdf::new(
5        Orientation::Portrait,
6        PageSize::A4,
7        "",
8        UnitVec2::inch(6.0, 6.0),
9    );
10    pdf.set_margins(Unit::inch(0.5), Unit::inch(1.0), Unit::inch(0.5));
11    pdf.set_font("Times", "", Unit::pt(14.0));
12    pdf.add_page_format(Orientation::Landscape, UnitVec2::inch(3.0, 12.0));
13    pdf.set_xy(Unit::inch(0.5), Unit::inch(1.5));
14    pdf.cell_format(
15        Unit::inch(11.0),
16        Unit::inch(0.2),
17        "12 in times 3 in",
18        "",
19        0,
20        "C",
21        false,
22        0,
23        "",
24    );
25    pdf.add_page();
26    pdf.set_xy(Unit::inch(0.5), Unit::inch(3.0));
27    pdf.cell_format(
28        Unit::inch(5.0),
29        Unit::inch(0.2),
30        "6 in times 6 in",
31        "",
32        0,
33        "C",
34        false,
35        0,
36        "",
37    );
38    pdf.add_page_format(Orientation::Portrait, UnitVec2::inch(3.0, 12.0));
39    pdf.set_xy(Unit::inch(0.5), Unit::inch(6.0));
40    pdf.cell_format(
41        Unit::inch(2.0),
42        Unit::inch(0.2),
43        "3 in times 12 in",
44        "",
45        0,
46        "C",
47        false,
48        0,
49        "",
50    );
51    for i in 0..3 {
52        let page_size = pdf.page_size(i);
53        println!(
54            "{} in times {} in",
55            page_size.width().to_inch(),
56            page_size.height().to_inch()
57        );
58    }
59    pdf.output_file_and_close("example_page_size.pdf").unwrap();
60}