Fields

Field elements in Word documents are dynamic elements, placeholders for dynamic data or changing aspects of the document. For instance, a field can be a page reference, property reference, date and time value, etc.

Fields are defined by Field.FieldType and optionally the Field.InstructionInlines that may contain additional field arguments and switches or even other, nested, fields. The field's instructions (field's code) defines how should the Field.ResultInlines (field's value) be updated or calculated.

The following example demonstrates how you can create fields of different field types and with various field arguments and switches.

Screenshot of Word file with fields result
Word document with Field result
Screenshot of Word file with fields code
Word document with Field code
using GemBox.Document;

class Program
{
    static void Main()
    {
        // If using Professional version, put your serial key below.
        ComponentInfo.SetLicense("FREE-LIMITED-KEY");

        var document = new DocumentModel();

        var section = new Section(document);
        document.Sections.Add(section);

        // Add '{ AUTHOR }' field.
        section.Blocks.Add(
            new Paragraph(document,
                new Run(document, "Author: "),
                new Field(document, FieldType.Author, null, "Mario at GemBox")));

        // Add '{ DATE }' field.
        section.Blocks.Add(
            new Paragraph(document,
                new Run(document, "Date: "),
                new Field(document, FieldType.Date)));

        // Add '{ DATE \@ "dddd, MMMM dd, yyyy" }' field.
        section.Blocks.Add(
            new Paragraph(document,
                new Run(document, "Date with specified format: "),
                new Field(document, FieldType.Date, "\\@ \"dddd, MMMM dd, yyyy\"")));

        document.Save("Fields.%OutputFileType%");
    }
}
Imports GemBox.Document

Module Program

    Sub Main()

        ' If using Professional version, put your serial key below.
        ComponentInfo.SetLicense("FREE-LIMITED-KEY")

        Dim document As New DocumentModel()

        Dim section As New Section(document)
        document.Sections.Add(section)

        ' Add '{ AUTHOR }' field.
        section.Blocks.Add(
            New Paragraph(document,
                New Run(document, "Author: "),
                New Field(document, FieldType.Author, Nothing, "Mario at GemBox")))

        ' Add '{ DATE }' field.
        section.Blocks.Add(
            New Paragraph(document,
                New Run(document, "Date: "),
                New Field(document, FieldType.Date)))

        ' Add '{ DATE \@ "dddd, MMMM dd, yyyy" }' field.
        section.Blocks.Add(
            New Paragraph(document,
                New Run(document, "Date with specified format: "),
                New Field(document, FieldType.Date, "\@ ""dddd, MMMM dd, yyyy""")))

        document.Save("Fields.%OutputFileType%")

    End Sub
End Module

On the following page you can find a list of field codes in Word. It also contains a description of each field, its syntax and available switches.

By default when viewing a Word document in Word application, the field's value is displayed and the field's instructions are hidden. However, by pressing ALT + F9 you can toggle between the field's code and field's result.

Interactive form fields are a special type of Field elements which contain Field.FormData objects. With these types of fields you can create, read and update fillable forms in your Word documents.

Check next example or download examples from GitHub.