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.
- Insert a Footnote after a Specific Paragraph in Word in C# and VB.NET
- Insert a Footnote after a Specific Text in Word in C# and VB.NET
- Remove Footnotes in a Word Document in C# and VB.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); } } }
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); } } }
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); } } }
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.