Insert Fields

There are several different ways to insert fields into a document:

In this article, we will look at each way in more detail and analyze how to insert certain fields using these options.

Inserting Fields into a Document using DocumentBuilder

In Aspose.Words the insert_field method is used to insert new fields into a document. The first parameter accepts the full field code of the field to be inserted. The second parameter is optional and allows the field result of the field to be set manually. If this is not supplied then the field is updated automatically. You can pass null or empty to this parameter to insert a field with an empty field value. If you are not sure about the particular field code syntax, create the field in Microsoft Word first and switch to see its field code.

The following code example shows how to inserts a merge field into a document using DocumentBuilder:

The following code example shows how to inserts a merge field with German locale into a document using DocumentBuilder:

The same technique is used to insert fields nested within other fields.

The following code example shows how to insert fields nested within another field using DocumentBuilder:

Specify Locale at Field Level

A language identifier is a standard international numeric abbreviation for the language in a country or geographical region. With Aspose.Words, you can specify Locale at field level. The locale_id property gets or sets the locale ID of the field.

The following code example shows how to make use of this option:

Insert Untyped/Empty Field

If you want to insert untyped/empty fields ({}) just like Microsoft Word allows, you can use the insert_field method with the FieldType.FIELD_NONE parameter. To insert a field into a Word document, you can press “Ctrl + F9” key combination.

The following code example shows how to insert an empty field into the document:

Inserting Fields into a Document using FieldBuilder

The alternative way to insert fields in Aspose.Words is the FieldBuilder class. It provides fluent interface to specify field switches and argument values as text, nodes or even nested fields.

The following code example shows how to insert a field into a document using FieldBuilder:

Inserting Fields using DOM

You can also insert various types of fields using Aspose.Words Document Object Model (DOM). In this section, we will look at a few examples.

Inserting Merge Field into a Document using DOM

The MERGEFIELD field in Word document can be represented by the FieldMergeField class. You can use FieldMergeField class to perform the following operations:

  • specify the name of merge field
  • specify the formatting of merge field
  • specify the text that is between the field separator and field end of merge field
  • specify the text to be inserted after the merge field if the field is not blank
  • specify the text to be inserted before the merge field if the field is not blank

The following code example shows how to add a Merge Field using DOM to a paragraph in a document:

Inserting Mail Merge ADDRESSBLOCK field into a Document using DOM

The ADDRESSBLOCK field is used to insert a mail merge address block in Word document. ADDRESSBLOCK field in Word document can be represented by the FieldAddressBlock class. You can use FieldAddressBlock class to perform the following operations:

  • specify whether to include the name of the country/region in the field
  • specify whether to format the address according to the country/region of the recipient as defined by POST*CODE (Universal Postal Union 2006)
  • specify the excluded country/region name
  • specify the name and address format
  • specify the language ID used to format the address

The following code example shows how to add the Mail Merge ADDRESSBLOCK Field using DOM to a paragraph in a document:

Inserting ADVANCE field into a Document without using DocumentBuilder

The ADVANCE field is used to offset subsequent text within a line to the left, right, up or down. The ADVANCE field in Word document can be represented by the FieldAdvance class. You can use the FieldAdvance class to perform the following operations:

  • specify the number of points by which the text that follows the field should be moved vertically from the top edge of the page
  • specify the number of points by which the text that follows the field should be moved horizontally from the left edge of the column, frame, or text box
  • specify the number of points by which the text that follows the field should be moved left, right, up or down

The following code example shows how to add the ADVANCE Field using DOM to a paragraph in a document.

Inserting ASK field into a Document without using DocumentBuilder

The ASK field is used to prompt the user for text to assign to a Bookmark in Word document. ASK field in Word document can be represented by the FieldAsk class. You can use the FieldAsk class to perform the following operations:

  • specify the name of the bookmark
  • specify default user response (initial value contained in the prompt window)
  • specify whether the user response should be received once per a mail merge operation
  • specify the prompt text (the title of the prompt window)

The following code example shows how to add the ASK Field using DOM to a paragraph in a document:

Inserting AUTHOR field into a Document without using DocumentBuilder

The AUTHOR field is used to specify the name of Document’s author from the Document properties. The AUTHOR field in Word document can be represented by the FieldAuthor class. You can use the FieldAuthor class to perform the following operations:

  • specify the document author’s name

The following code example shows how to add the AUTHOR Field using DOM to a paragraph in a document:

Inserting INCLUDETEXT field into a Document without using DocumentBuilder

The INCLUDETEXT field inserts the text and graphics contained in the document named in the field code. You can insert the entire document or a portion of the document referred to by a bookmark. This field in Word document is represented by INCLUDETEXT. You can use FieldIncludeText class to perform the following operations:

  • specify the bookmark’s name of the included document
  • specify the location of the document

The following code example shows how to add the INCLUDETEXT field using DOM to a paragraph in a document:

Inserting TOA field into a Document without using DocumentBuilder

The TOA (Table of Authorities) field builds and inserts a table of authorities. The TOA field collects entries marked by TA (Table of Authorities Entry) fields. Microsoft Office Word inserts the TOA field when you click Insert Table of Authorities in the Table of Authorities group on the References tab. When you view the TOA field in your document, the syntax looks like this:

{ TOA [Switches ] }

You can use the FieldToa class to perform the operations with the TOA field.

The following code example shows how to add the TOA field using DOM to a paragraph in a document: