DocumentCompare Method (Document, String, DateTime)

Compares this document with another document producing changes as number of edit and format revisions Revision.

Namespace:  Aspose.Words
Assembly:  Aspose.Words (in Aspose.Words.dll) Version: 20.2
public void Compare(
	Document document,
	string author,
	DateTime dateTime


Type: Aspose.WordsDocument
Document to compare.
Type: SystemString
Initials of the author to use for revisions.
Type: SystemDateTime
The date and time to use for revisions.
The following document nodes are not compared at the moment:
Note Note
Documents must not have revisions before comparison.
Shows how to apply the compare method to two documents and then use the results.
Document doc1 = new Document();
DocumentBuilder builder = new DocumentBuilder(doc1);
builder.Writeln("This is the original document.");

Document doc2 = new Document();
builder = new DocumentBuilder(doc2);
builder.Writeln("This is the edited document.");

// If either document has a revision, an exception will be thrown
if (doc1.Revisions.Count == 0 && doc2.Revisions.Count == 0)
    doc1.Compare(doc2, "authorName", DateTime.Now);

// If doc1 and doc2 are different, doc1 now has some revisions after the comparison, which can now be viewed and processed
foreach (Revision r in doc1.Revisions)
    Console.WriteLine($"Revision type: {r.RevisionType}, on a node of type \"{r.ParentNode.NodeType}\"");
    Console.WriteLine($"\tChanged text: \"{r.ParentNode.GetText()}\"");

// All the revisions in doc1 are differences between doc1 and doc2, so accepting them on doc1 transforms doc1 into doc2

// doc1, when saved, now resembles doc2
doc1.Save(ArtifactsDir + "Document.Compare.docx");
See Also