如何使用c#在word 2013中锁定轨道更改(带密码)

本文关键字:密码 轨道 锁定 何使用 word 2013 | 更新日期: 2023-09-27 18:12:27

我知道在c#中有几种创建/修改docx的方法

OpenXML、DocX API等

我已经知道如何使用Open XML启用跟踪更改,只是还没有找到锁定跟踪更改的方法(word 2013的一个功能)。

如何使用c#在word 2013中锁定轨道更改(带密码)

这段代码对我来说很好:

static void Main(string[] args)
{
    using (var document = WordprocessingDocument.Open(@"D:'DocTest'Test1.docx", true))
    {
        AddTrackingLock(document);
    }
}
private static void AddTrackingLock(WordprocessingDocument document)
{
    var documentSettings = document.MainDocumentPart.DocumentSettingsPart;
    var documentProtection = documentSettings
                                .Settings
                                .FirstOrDefault(it =>
                                        it is DocumentProtection &&
                                        (it as DocumentProtection).Edit == DocumentProtectionValues.TrackedChanges)
                                as DocumentProtection;
    if (documentProtection == null)
    {
        var documentProtectionElement = new DocumentProtection();
        documentProtectionElement.Edit = DocumentProtectionValues.TrackedChanges;
        documentProtectionElement.Enforcement = OnOffValue.FromBoolean(true);
        documentSettings.Settings.AppendChild(documentProtectionElement);
    }
    else
    {
        documentProtection.Enforcement = OnOffValue.FromBoolean(true);
    }
}

看看如何使用Open XML SDK 2.0在Word中设置编辑限制

我没有任何工作代码给你,但密码哈希需要存储在DocumentProtection.Hash。希望这个提示能帮助你前进!