Class CompareOptions

Class CompareOptions

Namespace: Aspose.Words.Comparing
Assembly: Aspose.Words.dll (25.12.0)

Allows to choose additional options for document comparison operation.

To learn more, visit the Compare Documents documentation article.

public class CompareOptions

Inheritance

object CompareOptions

Inherited Members

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Constructors

CompareOptions()

public CompareOptions()

Properties

AdvancedOptions

Specifies advanced compare options that might help to produce more precise comparison output.

public AdvancedCompareOptions AdvancedOptions { get; }

Property Value

AdvancedCompareOptions

Examples

Shows how to compare documents ignoring DML unique ID.

Document docA = new Document(MyDir + "DML unique ID original.docx");
                                                                 Document docB = new Document(MyDir + "DML unique ID compare.docx");

                                                                 // By default, Aspose.Words do not ignore DML's unique ID, and the revisions count was 2.
                                                                 // If we are ignoring DML's unique ID, and revisions count were 0.
                                                                 CompareOptions compareOptions = new CompareOptions();
                                                                 compareOptions.AdvancedOptions.IgnoreDmlUniqueId = isIgnoreDmlUniqueId;

                                                                 docA.Compare(docB, "Aspose.Words", DateTime.Now, compareOptions);

                                                                 Assert.That(docA.Revisions.Count, Is.EqualTo(isIgnoreDmlUniqueId ? 0 : 2));

CompareMoves

Specifies whether to compare differences between the two documents.

public bool CompareMoves { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default move revisions are not produced.

Granularity

Specifies whether changes are tracked by character or by word.

public Granularity Granularity { get; set; }

Property Value

Granularity

Examples

Shows to specify a granularity while comparing documents.

Document docA = new Document();
                                                                    DocumentBuilder builderA = new DocumentBuilder(docA);
                                                                    builderA.Writeln("Alpha Lorem ipsum dolor sit amet, consectetur adipiscing elit");

                                                                    Document docB = new Document();
                                                                    DocumentBuilder builderB = new DocumentBuilder(docB);
                                                                    builderB.Writeln("Lorems ipsum dolor sit amet consectetur - \"adipiscing\" elit");

                                                                    // Specify whether changes are tracking
                                                                    // by character ('Granularity.CharLevel'), or by word ('Granularity.WordLevel').
                                                                    CompareOptions compareOptions = new CompareOptions();
                                                                    compareOptions.Granularity = granularity;

                                                                    docA.Compare(docB, "author", DateTime.Now, compareOptions);

                                                                    // The first document's collection of revision groups contains all the differences between documents.
                                                                    RevisionGroupCollection groups = docA.Revisions.Groups;
                                                                    Assert.That(groups.Count, Is.EqualTo(5));

Remarks

Default value is Aspose.Words.Comparing.Granularity.WordLevel.

IgnoreCaseChanges

True indicates that documents comparison is case insensitive.

public bool IgnoreCaseChanges { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default comparison is case sensitive.

IgnoreComments

Specifies whether to compare differences in comments.

public bool IgnoreComments { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default comments are not ignored.

IgnoreDmlUniqueId

Specifies whether to ignore difference in DrawingML unique Id.

[Obsolete("Obsolete, please use CompareOptions.AdvancedOptions.IgnoreDmlUniqueId property.")]
public bool IgnoreDmlUniqueId { get; set; }

Property Value

bool

Examples

Shows how to compare documents ignoring DML unique ID.

Document docA = new Document(MyDir + "DML unique ID original.docx");
                                                                 Document docB = new Document(MyDir + "DML unique ID compare.docx");

                                                                 // By default, Aspose.Words do not ignore DML's unique ID, and the revisions count was 2.
                                                                 // If we are ignoring DML's unique ID, and revisions count were 0.
                                                                 CompareOptions compareOptions = new CompareOptions();
                                                                 compareOptions.AdvancedOptions.IgnoreDmlUniqueId = isIgnoreDmlUniqueId;

                                                                 docA.Compare(docB, "Aspose.Words", DateTime.Now, compareOptions);

                                                                 Assert.That(docA.Revisions.Count, Is.EqualTo(isIgnoreDmlUniqueId ? 0 : 2));

Remarks

Default value is false.

IgnoreFields

Specifies whether to compare differences in fields.

public bool IgnoreFields { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default fields are not ignored.

IgnoreFootnotes

Specifies whether to compare differences in footnotes and endnotes.

public bool IgnoreFootnotes { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default footnotes are not ignored.

IgnoreFormatting

True indicates that formatting is ignored.

public bool IgnoreFormatting { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default document formatting is not ignored.

IgnoreHeadersAndFooters

True indicates that headers and footers content is ignored.

public bool IgnoreHeadersAndFooters { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default headers and footers are not ignored.

IgnoreTables

Specifies whether to compare the differences in data contained in tables.

public bool IgnoreTables { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default tables are not ignored.

IgnoreTextboxes

Specifies whether to compare differences in the data contained within text boxes.

public bool IgnoreTextboxes { get; set; }

Property Value

bool

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");

Remarks

By default textboxes are not ignored.

Target

Specifies which document shall be used as a target during comparison.

public ComparisonTargetType Target { get; set; }

Property Value

ComparisonTargetType

Examples

Shows how to filter specific types of document elements when making a comparison.

// Create the original document and populate it with various kinds of elements.
                                                                                            Document docOriginal = new Document();
                                                                                            DocumentBuilder builder = new DocumentBuilder(docOriginal);

                                                                                            // Paragraph text referenced with an endnote:
                                                                                            builder.Writeln("Hello world! This is the first paragraph.");
                                                                                            builder.InsertFootnote(FootnoteType.Endnote, "Original endnote text.");

                                                                                            // Table:
                                                                                            builder.StartTable();
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 1 text");
                                                                                            builder.InsertCell();
                                                                                            builder.Write("Original cell 2 text");
                                                                                            builder.EndTable();

                                                                                            // Textbox:
                                                                                            Shape textBox = builder.InsertShape(ShapeType.TextBox, 150, 20);
                                                                                            builder.MoveTo(textBox.FirstParagraph);
                                                                                            builder.Write("Original textbox contents");

                                                                                            // DATE field:
                                                                                            builder.MoveTo(docOriginal.FirstSection.Body.AppendParagraph(""));
                                                                                            builder.InsertField(" DATE ");

                                                                                            // Comment:
                                                                                            Comment newComment = new Comment(docOriginal, "John Doe", "J.D.", DateTime.Now);
                                                                                            newComment.SetText("Original comment.");
                                                                                            builder.CurrentParagraph.AppendChild(newComment);

                                                                                            // Header:
                                                                                            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
                                                                                            builder.Writeln("Original header contents.");

                                                                                            // Create a clone of our document and perform a quick edit on each of the cloned document's elements.
                                                                                            Document docEdited = (Document)docOriginal.Clone(true);
                                                                                            Paragraph firstParagraph = docEdited.FirstSection.Body.FirstParagraph;

                                                                                            firstParagraph.Runs[0].Text = "hello world! this is the first paragraph, after editing.";
                                                                                            firstParagraph.ParagraphFormat.Style = docEdited.Styles[StyleIdentifier.Heading1];
                                                                                            ((Footnote)docEdited.GetChild(NodeType.Footnote, 0, true)).FirstParagraph.Runs[1].Text = "Edited endnote text.";
                                                                                            ((Table)docEdited.GetChild(NodeType.Table, 0, true)).FirstRow.Cells[1].FirstParagraph.Runs[0].Text = "Edited Cell 2 contents";
                                                                                            ((Shape)docEdited.GetChild(NodeType.Shape, 0, true)).FirstParagraph.Runs[0].Text = "Edited textbox contents";
                                                                                            ((FieldDate)docEdited.Range.Fields[0]).UseLunarCalendar = true;
                                                                                            ((Comment)docEdited.GetChild(NodeType.Comment, 0, true)).FirstParagraph.Runs[0].Text = "Edited comment.";
                                                                                            docEdited.FirstSection.HeadersFooters[HeaderFooterType.HeaderPrimary].FirstParagraph.Runs[0].Text =
                                                                                                "Edited header contents.";

                                                                                            // Comparing documents creates a revision for every edit in the edited document.
                                                                                            // A CompareOptions object has a series of flags that can suppress revisions
                                                                                            // on each respective type of element, effectively ignoring their change.
                                                                                            CompareOptions compareOptions = new CompareOptions
                                                                                            {
                                                                                                CompareMoves = false,
                                                                                                IgnoreFormatting = false,
                                                                                                IgnoreCaseChanges = false,
                                                                                                IgnoreComments = false,
                                                                                                IgnoreTables = false,
                                                                                                IgnoreFields = false,
                                                                                                IgnoreFootnotes = false,
                                                                                                IgnoreTextboxes = false,
                                                                                                IgnoreHeadersAndFooters = false,
                                                                                                Target = ComparisonTargetType.New
                                                                                            };

                                                                                            docOriginal.Compare(docEdited, "John Doe", DateTime.Now, compareOptions);
                                                                                            docOriginal.Save(ArtifactsDir + "Revision.CompareOptions.docx");
 English