FieldAutoNumLglRemoveTrailingPeriod Property |
Namespace: Aspose.Words.Fields
public void FieldAutoNumLgl() { Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // This string will be our paragraph text that const string loremIpsum = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " + "\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. "; // In this case our autonum legal field will number our first paragraph as "1." InsertNumberedClause(builder, "\tHeading 1", loremIpsum, StyleIdentifier.Heading1); // Our heading style number will be 1 again, so this field will keep counting headings at a heading level of 1 InsertNumberedClause(builder, "\tHeading 2", loremIpsum, StyleIdentifier.Heading1); // Our heading style is 2, setting the paragraph numbering depth to 2, setting this field's value to "2.1." InsertNumberedClause(builder, "\tHeading 3", loremIpsum, StyleIdentifier.Heading2); // Our heading style is 3, so we are going deeper again to "2.1.1." InsertNumberedClause(builder, "\tHeading 4", loremIpsum, StyleIdentifier.Heading3); // Our heading style is 2, and the next field number at that level is "2.2." InsertNumberedClause(builder, "\tHeading 5", loremIpsum, StyleIdentifier.Heading2); foreach (Field field in doc.Range.Fields) { if (field.Type == FieldType.FieldAutoNumLegal) { // By default the separator will appear as "." in the document but here it is null Assert.IsNull(((FieldAutoNumLgl)field).SeparatorCharacter); // Change the separator character and remove trailing separators ((FieldAutoNumLgl)field).SeparatorCharacter = ":"; ((FieldAutoNumLgl)field).RemoveTrailingPeriod = true; Assert.AreEqual(" AUTONUMLGL \\s : \\e", field.GetFieldCode()); } } doc.Save(ArtifactsDir + "Field.AUTONUMLGL.docx"); } /// <summary> /// Get a document builder to insert a clause numbered by an autonum legal field. /// </summary> private static void InsertNumberedClause(DocumentBuilder builder, string heading, string contents, StyleIdentifier headingStyle) { // This legal field will automatically number our clauses, taking heading style level into account builder.InsertField(FieldType.FieldAutoNumLegal, true); builder.CurrentParagraph.ParagraphFormat.StyleIdentifier = headingStyle; builder.Writeln(heading); // This text will belong to the auto num legal field above it // It will collapse when the arrow next to the corresponding autonum legal field is clicked in MS Word builder.CurrentParagraph.ParagraphFormat.StyleIdentifier = StyleIdentifier.BodyText; builder.Writeln(contents); }