public class FieldMergeField extends Field
To learn more, visit the Working with Fields documentation article.
Remarks:
Retrieves the name of a data field within the merge characters in a mail merge main document. When the main document is merged with the selected data source, information from the specified data field is inserted in place of the merge field.
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getFieldName()
Gets the name of a data field.
|
java.lang.String |
getFieldNameNoPrefix()
Returns just the name of the data field.
|
int |
getSwitchType(java.lang.String switchName) |
java.lang.String |
getTextAfter()
Gets the text to be inserted after the field if the field is not blank.
|
java.lang.String |
getTextBefore()
Gets the text to be inserted before the field if the field is not blank.
|
int |
getType()
Gets the Microsoft Word field type.
|
boolean |
isMapped()
Gets whether this field is a mapped field.
|
void |
isMapped(boolean value)
Sets whether this field is a mapped field.
|
boolean |
isVerticalFormatting()
Gets whether to enable character conversion for vertical formatting.
|
void |
isVerticalFormatting(boolean value)
Sets whether to enable character conversion for vertical formatting.
|
void |
setFieldName(java.lang.String value)
Sets the name of a data field.
|
void |
setTextAfter(java.lang.String value)
Sets the text to be inserted after the field if the field is not blank.
|
void |
setTextBefore(java.lang.String value)
Sets the text to be inserted before the field if the field is not blank.
|
getDisplayResult, getEnd, getFieldCode, getFieldCode, getFormat, getLocaleId, getResult, getSeparator, getStart, isDirty, isDirty, isLocked, isLocked, needStoreOldResultNodes, remove, setLocaleId, setResult, unlink, update, updatepublic int getType()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public int getSwitchType(java.lang.String switchName)
public java.lang.String getFieldNameNoPrefix()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public java.lang.String getFieldName()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public void setFieldName(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
value - The name of a data field.java.lang.Exceptionpublic java.lang.String getTextBefore()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public void setTextBefore(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
value - The text to be inserted before the field if the field is not blank.java.lang.Exceptionpublic java.lang.String getTextAfter()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public void setTextAfter(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
value - The text to be inserted after the field if the field is not blank.java.lang.Exceptionpublic boolean isMapped()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public void isMapped(boolean value)
throws java.lang.Exception
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
value - Whether this field is a mapped field.java.lang.Exceptionpublic boolean isVerticalFormatting()
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
public void isVerticalFormatting(boolean value)
throws java.lang.Exception
Examples:
Shows how to use MERGEFIELD fields to perform a mail merge.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Create a data table to be used as a mail merge data source.
DataTable table = new DataTable("Employees");
table.getColumns().add("Courtesy Title");
table.getColumns().add("First Name");
table.getColumns().add("Last Name");
table.getRows().add("Mr.", "John", "Doe");
table.getRows().add("Mrs.", "Jane", "Cardholder");
// Insert a MERGEFIELD with a FieldName property set to the name of a column in the data source.
FieldMergeField fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Courtesy Title");
fieldMergeField.isMapped(true);
fieldMergeField.isVerticalFormatting(false);
// We can apply text before and after the value that this field accepts when the merge takes place.
fieldMergeField.setTextBefore("Dear ");
fieldMergeField.setTextAfter(" ");
Assert.assertEquals(" MERGEFIELD \"Courtesy Title\" \\m \\b \"Dear \" \\f \" \"", fieldMergeField.getFieldCode());
Assert.assertEquals(FieldType.FIELD_MERGE_FIELD, fieldMergeField.getType());
// Insert another MERGEFIELD for a different column in the data source.
fieldMergeField = (FieldMergeField) builder.insertField(FieldType.FIELD_MERGE_FIELD, true);
fieldMergeField.setFieldName("Last Name");
fieldMergeField.setTextAfter(":");
doc.updateFields();
doc.getMailMerge().execute(table);
Assert.assertEquals("Dear Mr. Doe:\fDear Mrs. Cardholder:", doc.getText().trim());
value - Whether to enable character conversion for vertical formatting.java.lang.Exception