Insert Header and Footer for Word Document in WPF

Header or footer are pieces of text or images that appear at the top or bottom of every document page. You can add any information you want to the header and footer areas such as page numbers, author's name, current date and company logo.

This article will demonstrate how to insert text header and footer for word document in WPF by using Spire.Doc for WPF.

Below are the effective screenshots after inserting header and footer:

Insert Header and Footer for Word Document in WPF

Insert Header and Footer for Word Document in WPF

At first, please download Spire.Doc and install it correctly, then add Spire.Doc.Wpf.dll and Spire.License.dll from the installation folder to your project as reference.

Then follow the detail steps below:

Use namespace:

using System.Windows;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

Insert Header

Step 1: Initialize a new instance of Document class and load the word document from file.

Document doc = new Document();
doc.LoadFromFile("Eiffel Tower.docx");

Step 2: Get its first section, then add a header paragraph for section one.

Section section = doc.Sections[0];
HeaderFooter header = section.HeadersFooters.Header;
Paragraph paragraph = header.AddParagraph();

Step 3: Append text for header paragraph and set text format.

TextRange text = paragraph.AppendText("Eiffel Tower introduction");
text.CharacterFormat.FontName = "Cambria";
text.CharacterFormat.FontSize = 12;
text.CharacterFormat.TextColor = Color.DarkGreen;

Step 4: Set Header Paragraph Format.

paragraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
paragraph.Format.Borders.Bottom.BorderType = BorderStyle.DashSmallGap;
paragraph.Format.Borders.Bottom.Space = 0.05f;
paragraph.Format.Borders.Bottom.Color = Color.DarkGray;

Insert Footer

Step 5: Add a Footer paragraph.

HeaderFooter footer = section.HeadersFooters.Footer;
Paragraph sparagraph = footer.AddParagraph();

Step 6: Append text for footer paragraph and set text format.

TextRange stext = sparagraph.AppendText("the tallest structure in Paris");
stext.CharacterFormat.FontName = "Calibri";
stext.CharacterFormat.FontSize = 12;
stext.CharacterFormat.TextColor = Color.DarkGreen;

Step 7: Set Footer Paragrah Format.

sparagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
sparagraph.Format.Borders.Top.BorderType = BorderStyle.Hairline;
sparagraph.Format.Borders.Top.Space = 0.15f;
sparagraph.Format.Borders.Color = Color.DarkGray;

Step 8: Save and launch the file.

doc.SaveToFile("HeaderFooter.docx");
System.Diagnostics.Process.Start("HeaderFooter.docx");

Full codes:

[C#]
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;
using System.Windows;

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void button1_Click(object sender, RoutedEventArgs e)
        {
            Document doc = new Document();
            doc.LoadFromFile("Eiffel Tower.docx");

            Section section = doc.Sections[0];
            HeaderFooter header = section.HeadersFooters.Header;
            Paragraph paragraph = header.AddParagraph();

            TextRange text = paragraph.AppendText("Eiffel Tower introduction");
            text.CharacterFormat.FontName = "Cambria";
            text.CharacterFormat.FontSize = 12;
            text.CharacterFormat.TextColor = Color.DarkGreen;

            paragraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
            paragraph.Format.Borders.Bottom.BorderType = BorderStyle.DashSmallGap;
            paragraph.Format.Borders.Bottom.Space = 0.05f;
            paragraph.Format.Borders.Bottom.Color = Color.DarkGray;

            HeaderFooter footer = section.HeadersFooters.Footer;
            Paragraph sparagraph = footer.AddParagraph();

            TextRange stext = sparagraph.AppendText("the tallest structure in Paris");
            stext.CharacterFormat.FontName = "Calibri";
            stext.CharacterFormat.FontSize = 12;
            stext.CharacterFormat.TextColor = Color.DarkGreen;

            sparagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right;
            sparagraph.Format.Borders.Top.BorderType = BorderStyle.Hairline;
            sparagraph.Format.Borders.Top.Space = 0.15f;
            sparagraph.Format.Borders.Color = Color.DarkGray;

            doc.SaveToFile("HeaderFooter.docx");
            System.Diagnostics.Process.Start("HeaderFooter.docx");
        }



    }
}
[VB.NET]
Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
	Dim doc As New Document()
	doc.LoadFromFile("Eiffel Tower.docx")

	Dim section As Section = doc.Sections(0)
	Dim header As HeaderFooter = section.HeadersFooters.Header
	Dim paragraph As Paragraph = header.AddParagraph()

	Dim text As TextRange = paragraph.AppendText("Eiffel Tower introduction")
	text.CharacterFormat.FontName = "Cambria"
	text.CharacterFormat.FontSize = 12
	text.CharacterFormat.TextColor = Color.DarkGreen

	paragraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right
	paragraph.Format.Borders.Bottom.BorderType = BorderStyle.DashSmallGap
	paragraph.Format.Borders.Bottom.Space = 0.05F
	paragraph.Format.Borders.Bottom.Color = Color.DarkGray

	Dim footer As HeaderFooter = section.HeadersFooters.Footer
	Dim sparagraph As Paragraph = footer.AddParagraph()

	Dim stext As TextRange = sparagraph.AppendText("the tallest structure in Paris")
	stext.CharacterFormat.FontName = "Calibri"
	stext.CharacterFormat.FontSize = 12
	stext.CharacterFormat.TextColor = Color.DarkGreen

	sparagraph.Format.HorizontalAlignment = Spire.Doc.Documents.HorizontalAlignment.Right
	sparagraph.Format.Borders.Top.BorderType = BorderStyle.Hairline
	sparagraph.Format.Borders.Top.Space = 0.15F
	sparagraph.Format.Borders.Color = Color.DarkGray

	doc.SaveToFile("HeaderFooter.docx")
	System.Diagnostics.Process.Start("HeaderFooter.docx")
End Sub