For
C# DOCX file format, you can easily add / edit / iterate over document properties using this
C# / VB.NET Word library.
Here is a sample C# code:
ComponentInfo.SetLicense("FREE-LIMITED-KEY");
var document = new DocumentModel();
document.DocumentProperties.BuiltIn.Add(BuiltInDocumentProperty.Title, "My document title");
document.DocumentProperties.BuiltIn.Add(BuiltInDocumentProperty.Subject, "My document subject");
document.DocumentProperties.BuiltIn.Add(BuiltInDocumentProperty.Author, "John Doe");
document.DocumentProperties.BuiltIn.Add(BuiltInDocumentProperty.Keywords, "keyword1, keyword2, keyword3");
document.Save("Document.docx", SaveOptions.DocxDefault);
document = DocumentModel.Load("Document.docx", LoadOptions.DocxDefault);
foreach (var builtInProperty in document.DocumentProperties.BuiltIn)
Console.WriteLine("{0}: {1}", builtInProperty.Key, builtInProperty.Value);