C#/VB.NET: Insert or Remove Footnotes in Word

Footnotes are notes placed at the bottom of a page. In MS Word, you can use footnotes to cite references, give explanations, or make comments without affecting the main text. In this article, you will learn how to insert or delete footnotes in a Word document using Spire.Doc for .NET.

Install Spire.Doc for .NET

To begin with, you need to add the DLL files included in the Spire.Doc for.NET package as references in your .NET project. The DLL files can be either downloaded from this link or installed via NuGet.

PM> Install-Package Spire.Doc

Insert a Footnote after a Specific Paragraph in Word in C# and VB.NET

The Paragraph.AppendFootnote(FootnoteType.Footnote) method provided by Spire.Doc for .NET allows you to insert a footnote after a specified paragraph. The following are the detailed steps.

  • Create a Document instance
  • Load a sample Word document using Document.LoadFromFile() method.
  • Get the first section and then get a specified paragraph in the section.
  • Add a footnote at the end of the paragraph using Paragraph.AppendFootnote(FootnoteType.Footnote) method.
  • Set the text content, font and color of the footnote, and then set the format of the footnote superscript number.
  • Save the result document using Document.SaveToFile() method.
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace AddFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a Document instance
            Document document = new Document();

            //Load a sample Word document
            document.LoadFromFile("Sample.docx");

            //Get the first section
            Section section = document.Sections[0];

            //Get a specified paragraph in the section
            Paragraph paragraph = section.Paragraphs[3];

            //Add a footnote at the end of the paragraph
            Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);

            //Set the text content of the footnote
            TextRange text = footnote.TextBody.AddParagraph().AppendText("Algorithms can be simple or complex depending on what you want to achieve.");
            
            //Set the text font and color
            text.CharacterFormat.FontName = "Arial";
            text.CharacterFormat.FontSize = 12;
            text.CharacterFormat.TextColor = Color.DarkBlue;

            //Set the format of the footnote superscript number
            footnote.MarkerCharacterFormat.FontName = "Calibri";
            footnote.MarkerCharacterFormat.FontSize = 15;
            footnote.MarkerCharacterFormat.Bold = true;
            footnote.MarkerCharacterFormat.TextColor = Color.DarkCyan;

            //Save the result document
            document.SaveToFile("AddFootnote.docx", FileFormat.Docx);

        }
    }
}

C#/VB.NET: Insert or Remove Footnotes in Word

Insert a Footnote after a Specific Text in Word in C# and VB.NET

With Spire.Doc for .NET, a footnote can also be inserted after a specified text located anywhere in the document. The following are the detailed steps.

  • Create a Document instance.
  • Load a Word document using Document.LoadFromFile() method.
  • Find a specified text using Document.FindString() method.
  • Get the text range of the specified text using TextSelection.GetAsOneRange() method.
  • Get the paragraph where the text range is located using TextRange.OwnerParagraph property.
  • Get the position index of the text range in the paragraph using Paragraph.ChildObjects.IndexOf() method.
  • Add a footnote using Paragraph.AppendFootnote(FootnoteType.Footnote) method, and then insert the footnote after the specified text using Paragraph.ChildObjects.Insert() method
  • Set the text content, font and color of the footnote, and then set the format of the footnote superscript number.
  • Save the result document using Document.SaveToFile() method.
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace InsertFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a Document instance
            Document document = new Document();

            //Load a sample Word document
            document.LoadFromFile("Sample.docx");

            //Find a specified text string
            TextSelection selection = document.FindString("big O notation", false, true);

            //Get the text range of the specified text
            TextRange textRange = selection.GetAsOneRange();

            //Get the paragraph where the text range is located
            Paragraph paragraph = textRange.OwnerParagraph;

            //Get the position index of the text range in the paragraph
            int index = paragraph.ChildObjects.IndexOf(textRange);

            //Add a footnote
            Footnote footnote = paragraph.AppendFootnote(FootnoteType.Footnote);

            //Insert the footnote after the specified paragraph
            paragraph.ChildObjects.Insert(index + 1, footnote);

            //Set the text content of the footnote
            TextRange text = footnote.TextBody.AddParagraph().AppendText("It gives the worst-case complexity of an algorithm.");

            //Set the text font and color
            text.CharacterFormat.FontName = "Arial";
            text.CharacterFormat.FontSize = 12;
            text.CharacterFormat.TextColor = Color.DarkBlue;

            //Set the format of the footnote superscript number
            footnote.MarkerCharacterFormat.FontName = "Calibri";
            footnote.MarkerCharacterFormat.FontSize = 15;
            footnote.MarkerCharacterFormat.Bold = true;
            footnote.MarkerCharacterFormat.TextColor = Color.DarkGreen;

            //Save the result document
            document.SaveToFile("InsertFootnote.docx", FileFormat.Docx);
        }
    }
}

C#/VB.NET: Insert or Remove Footnotes in Word

Remove Footnotes in a Word Document in C# and VB.NET

It takes time and effort to search and delete the existing footnotes in your document manually. The following are the steps to remove all footnotes at once programmatically.

  • Create a Document instance.
  • Load a Word document using Document.LoadFromFile() method.
  • Get a specified section using Document.Sections property.
  • Traverse through each paragraph in the section to find the footnote.
  • Remove the footnote using Paragraph.ChildObjects.RemoveAt() method.
  • Save the result document using Document.SaveToFile() method.
  • C#
  • VB.NET
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

namespace RemoveFootnote
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a Document instance
            Document document = new Document();

            //Load a sample Word document
            document.LoadFromFile("AddFootnote.docx");

            //Get the first section
            Section section = document.Sections[0];

            //Traverse through each paragraph in the section to find the footnote
            foreach (Paragraph para in section.Paragraphs)
            {
                int index = -1;
                for (int i = 0, cnt = para.ChildObjects.Count; i < cnt; i++)
                {
                    ParagraphBase pBase = para.ChildObjects[i] as ParagraphBase;
                    if (pBase is Footnote)
                    {
                        index = i;
                        break;
                    }
                }

                if (index > -1)

                    //Remove the footnote
                    para.ChildObjects.RemoveAt(index);
            }

            //Save the result document
            document.SaveToFile("RemoveFootnote.docx", FileFormat.Docx);
        }
    }
}

C#/VB.NET: Insert or Remove Footnotes in Word

Apply for a Temporary License

If you'd like to remove the evaluation message from the generated documents, or to get rid of the function limitations, please request a 30-day trial license for yourself.