Set document metadata on save

Document can contain some metadata information, such as author, organization, etc. GroupDocs.Comparison allows you to select metadata source when saving output document.

Possible metadata sources are as follows:

  • Source document metadata
  • Target document metadata
  • User-defined metadata

To set output document metadata, follow these steps:

  1. Instantiate the Comparer object. Specify the source document path or stream.
  2. Call the Add method. Specify the target document path or stream.
  3. Instantiate the SaveOptions object. Set the CloneMetadataType property to the appropriate MetadataType variant.
  4. Call the Compare method. Specify the SaveOptions object as a parameter.

The following code snippets show how to set output document metadata:

Set metadata from source file

using (Comparer comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");
    comparer.Compare("result.docx", new SaveOptions() { CloneMetadataType = MetadataType.Source });
}

Set metadata from target file

using (Comparer comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");
    comparer.Compare("result.docx", new SaveOptions() { CloneMetadataType = MetadataType.Target });
}

Set user-defined metadata 

using (Comparer comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");
    SaveOptions saveOptions = new SaveOptions()
    {
    	CloneMetadataType = MetadataType.FileAuthor,
        FileAuthorMetadata = new FileAuthorMetadata
        {
            Author = "Tom",
            Company = "GroupDocs",
            LastSaveBy = "Jack"
        }
    };
    comparer.Compare("result.docx", saveOptions);
}