C#OpenXml接受.docx中的所有修订

时间:2019-01-31 14:09:57

标签: c# openxml docx revision

如何使用适用于.NET的Open XML SDK接受.docx文件中的所有修订?我尝试使用this example from Microsoft's Open XML SDK,但是该代码无法处理很多情况,例如:

    接受修订后,
  • 从表中删除的行仍然存在于文档中
  • 接受修订后,
  • 从无序列表中删除的项目仍然存在于文档中
  • 接受修订后,
  • 已删除的空白段落仍存在于文档中

是否有一种简便的方法来接受所有修订,或者我应该只手动捕获并处理所有可能的情况?

1 个答案:

答案 0 :(得分:1)

Michael Daniloff的评论之后,Eric White是OpenXmlPowerTools项目的当前维护者,该项目提供了一个C#库来接受更改(请参见this example)。这是一个如何使用它的小例子:

using DocumentFormat.OpenXml.Packaging;
using OpenXmlPowerTools;

public static void AcceptRevisions(string file_name) {
    using(WordprocessingDocument doc = WordprocessingDocument.Open(file_name, true))
        RevisionAccepter.AcceptRevisions(doc);
}

这处理了原始Microsoft示例遗漏的其他情况(例如表格式更改等)。

相关问题