创建启用跟踪更改的 OOXML 文档

Creating a OOXML document with Track Changes enabled

如何创建启用跟踪更改的 .docx?我在 word/settings.xml 中被告知我应该修改 w:proofState 但我发现 OOXML 在线文档中的所有信息 属性 与语法和拼写检查有关,但与启用跟踪更改无关。

它在 word/settings.xml 但您要查找的元素是 w:trackRevisions

要使用 OpenXML SDK 在 C# 中执行此操作,您可以使用 TrackRevisions class。以下代码将创建一个包含一个段落并启用更改跟踪的文档:

using (WordprocessingDocument package = WordprocessingDocument.Create(filename, WordprocessingDocumentType.Document))
{
    // Add a new main document part. 
    package.AddMainDocumentPart();

    //create a body and a paragraph
    Body body = new Body();
    Paragraph paragraph = new Paragraph();
    paragraph.AppendChild(new Run(new Text("This document should have change tracking switched on")));
    body.AppendChild(paragraph);
    package.MainDocumentPart.Document = new Document(body);

    //change tracking code
    DocumentSettingsPart documentSettingsPart = package.MainDocumentPart.AddNewPart<DocumentSettingsPart>();
    Settings settings = new Settings();
    TrackRevisions trackRevisions = new TrackRevisions();
    settings.Append(trackRevisions);
    documentSettingsPart.Settings = settings;

    // Save changes to the main document part. 
    package.MainDocumentPart.Document.Save();
}