两个Open XML Word文档的差异

7

非常感谢您提供的任何帮助和协助。

我正在尝试找到一些实用工具/指导,以便最佳比较两个Word Docx文件(原始版本和修改后版本)的差异,并在C#中突出显示修改版本中的更改。

再次感谢您能提供的任何帮助。

6个回答

5
OpenXML SDK 2.0 Toolkit提供了一个名为OpenXMLDiff的工具,可以实现此功能。您也可以在此处了解工具包提供的其他内容:介绍 Open XML SDK 2.0
如果这不是您需要的内容,则需要逐个打开Open XML文档包,并确定它们之间的差异。

2

Xmldiffpatch.exe已经不存在了。 - undefined

0

Docx文件是重命名的zip文件。你可以将其重命名为.zip并将其提取出来。

然而,docx不是单个文件的压缩包...它是一个带有xml文件的文件夹层次结构。因此,您可以将其提取出来并脚本化一个比较实用工具,如Beyond Compare,以获取差异。

但我不确定如何呈现这些差异?您是否想在Word文档中直观地展示差异?例如:第二个文件中缺少了这段落等。


嗨,感谢您的回复。我已经控制了用于创建这些文档的文档编辑器,所以我的意图是禁用编辑器中的突出显示选项,以便我可以将其用作突出显示文档中更改/添加的机制。 - Emlyn

0

文档内容是XML标记的,并根据添加/修改/删除的任何选项、更改、强调等进行分割。即使只是添加和删除换行符,也可能导致不同的物理XML结构。最终实际内容不会有任何区别,但XML可能会有所不同。

您要识别什么样的“差异”?这将决定您需要对内部结构进行多少解析以及可以使用哪些技术或工具来识别差异。


0

这里列出了几个OpenXML差异化工具 点击查看


0

我来稍微更新一下这个话题。目前,“Open XML SDK 2.5 Productivity Tool”可以做到这一点。我发现它在不同的pptx\docx\xlsx文件中非常有用。 Open XML SDK 2.5

如果您正在使用Visual Studio,您还应该考虑添加此插件: Visual Studio的Open XML包编辑器。 当您需要快速查看文件或更改某些内容时,它非常有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接