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

标签 c# openxml docx revision

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

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

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

最佳答案

跟进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 示例遗漏的其他情况(例如表格格式更改等)。

关于C# OpenXml 接受 .docx 中的所有修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54462425/

相关文章:

c# - OpenXML库保存excel文件

c# - OpenXmlPowerTools DocumentBuilder 在单独的页面上合并文档

c# - 在 OpenXml 复选框 word2013 中设置值

java - 如何为 docx run apache poi 设置粗体

c# - IList<int> 与 List<int>

c# - SQL 参数已经声明

java - Docx4j 添加 w :sdt content control programmatically

java - 在 Java 中将 Microsoft Word 文档读入纯文本(DOC、DOCX)

c# - 重命名azure blob存储中的容器/文件夹

c# - 将对象序列化到 Azure Blob 存储