pub struct HeaderFooter {
pub blocks: Vec<Block>,
}Expand description
The content of a header or footer: a sequence of block-level content (paragraphs and tables) —
the same content model WordprocessingML gives the document body (CT_HdrFtr reuses
EG_BlockLevelElts, the exact group w:body uses), just without a w:body wrapper or section
properties of its own.
Fields§
§blocks: Vec<Block>The blocks that make up this header/footer’s content, in order.
Implementations§
Sourcepub fn new() -> HeaderFooter
pub fn new() -> HeaderFooter
Creates an empty header/footer.
Examples found in repository?
examples/docx_page_layout.rs (line 27)
15fn main() -> office_toolkit::Result<()> {
16 let path = output_path("docx_page_layout.docx");
17
18 let page_setup = PageSetup::new()
19 .with_size_twips(16_838, 11_906) // A4 landscape, in twentieths of a point
20 .with_orientation(Orientation::Landscape)
21 .with_margins_twips(1_440, 1_440, 1_800, 1_800) // top, bottom, left, right
22 .with_header_footer_margins_twips(720, 720)
23 .with_gutter_twips(0)
24 .with_columns(2);
25
26 let default_header =
27 HeaderFooter::new().with_paragraph(Paragraph::with_text("Default header — every page"));
28 let default_footer =
29 HeaderFooter::new().with_paragraph(Paragraph::with_text("Default footer — every page"));
30 let first_header = HeaderFooter::new()
31 .with_paragraph(Paragraph::with_text("First-page header — cover page only"));
32 let even_header = HeaderFooter::new().with_paragraph(Paragraph::with_text("Even-page header"));
33
34 let document = Document::new()
35 .with_page_setup(page_setup)
36 .with_header(default_header)
37 .with_footer(default_footer)
38 .with_header_first(first_header)
39 .with_header_even(even_header)
40 .with_paragraph(heading("Page setup: A4 landscape, custom margins, two columns", false))
41 .with_paragraph(Paragraph::with_text(
42 "This document is landscape A4, with wider left/right margins than top/bottom, and its body text \
43 flows in two columns. Look at the page in Word's Layout view to see the effect.",
44 ))
45 .with_paragraph(heading("Headers and footers", true))
46 .with_paragraph(Paragraph::with_text(
47 "Page 1 (this page) uses the first-page header, since \"different first page\" headers are set. \
48 Every other page uses the default header shown above, and every page uses the default footer.",
49 ))
50 .with_paragraph(heading("A third page, to see the default header again", true))
51 .with_paragraph(Paragraph::with_text(
52 "If Word is configured to show even/odd pages differently, this page alternates between the \
53 default and even-page header depending on whether it lands on an even or odd page number.",
54 ));
55
56 document.save_to_file(&path)?;
57 println!("Wrote {}", path.display());
58 Ok(())
59}Sourcepub fn with_paragraph(self, paragraph: Paragraph) -> HeaderFooter
pub fn with_paragraph(self, paragraph: Paragraph) -> HeaderFooter
Appends a paragraph block and returns it for chaining.
Examples found in repository?
examples/docx_page_layout.rs (line 27)
15fn main() -> office_toolkit::Result<()> {
16 let path = output_path("docx_page_layout.docx");
17
18 let page_setup = PageSetup::new()
19 .with_size_twips(16_838, 11_906) // A4 landscape, in twentieths of a point
20 .with_orientation(Orientation::Landscape)
21 .with_margins_twips(1_440, 1_440, 1_800, 1_800) // top, bottom, left, right
22 .with_header_footer_margins_twips(720, 720)
23 .with_gutter_twips(0)
24 .with_columns(2);
25
26 let default_header =
27 HeaderFooter::new().with_paragraph(Paragraph::with_text("Default header — every page"));
28 let default_footer =
29 HeaderFooter::new().with_paragraph(Paragraph::with_text("Default footer — every page"));
30 let first_header = HeaderFooter::new()
31 .with_paragraph(Paragraph::with_text("First-page header — cover page only"));
32 let even_header = HeaderFooter::new().with_paragraph(Paragraph::with_text("Even-page header"));
33
34 let document = Document::new()
35 .with_page_setup(page_setup)
36 .with_header(default_header)
37 .with_footer(default_footer)
38 .with_header_first(first_header)
39 .with_header_even(even_header)
40 .with_paragraph(heading("Page setup: A4 landscape, custom margins, two columns", false))
41 .with_paragraph(Paragraph::with_text(
42 "This document is landscape A4, with wider left/right margins than top/bottom, and its body text \
43 flows in two columns. Look at the page in Word's Layout view to see the effect.",
44 ))
45 .with_paragraph(heading("Headers and footers", true))
46 .with_paragraph(Paragraph::with_text(
47 "Page 1 (this page) uses the first-page header, since \"different first page\" headers are set. \
48 Every other page uses the default header shown above, and every page uses the default footer.",
49 ))
50 .with_paragraph(heading("A third page, to see the default header again", true))
51 .with_paragraph(Paragraph::with_text(
52 "If Word is configured to show even/odd pages differently, this page alternates between the \
53 default and even-page header depending on whether it lands on an even or odd page number.",
54 ));
55
56 document.save_to_file(&path)?;
57 println!("Wrote {}", path.display());
58 Ok(())
59}Sourcepub fn with_table(self, table: Table) -> HeaderFooter
pub fn with_table(self, table: Table) -> HeaderFooter
Appends a table block and returns it for chaining.
Sourcepub fn with_structured_document_tag(
self,
sdt: StructuredDocumentTag,
) -> HeaderFooter
pub fn with_structured_document_tag( self, sdt: StructuredDocumentTag, ) -> HeaderFooter
Appends a structured document tag block and returns it for chaining.
Sourcepub fn paragraphs(&self) -> impl Iterator<Item = &Paragraph>
pub fn paragraphs(&self) -> impl Iterator<Item = &Paragraph>
Iterates over this header/footer’s paragraphs only, skipping tables.
Trait Implementations§
Source§fn clone(&self) -> HeaderFooter
fn clone(&self) -> HeaderFooter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§fn default() -> HeaderFooter
fn default() -> HeaderFooter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more