0

我正在寻找一个 .net winforms 组件,它可以比较两个格式化的文档(在 .doc、.docx、.html、.rtf 中,它们中的任何一个都可以)并直观地发现变化。我们更喜欢看到 MS Word 在其跟踪更改模式中显示更改时所做的更改

我们期望只有几页长且编辑不多的简短文档(更改的单词很少,添加/删除段落等)

您是否知道可以免费或以其他方式推荐的组件

谢谢你,凯末尔

4

2 回答 2

4

以下代码将比较两个单词文档并保存第三个文档中更改的合并。

添加 Microsoft Word 12.0 对象库的引用

using Microsoft.Office;

public static void comp()
{

    object missing = System.Reflection.Missing.Value;

    //create a readonly variable of object type and assign it to false.

    object readonlyobj = false;

    object filename = "C:\\romil1.docx";

    //create a word application object for processing the word file.

    Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();

    //create a word document object and open the above file..

    Microsoft.Office.Interop.Word.Document doc = app.Documents.Open(

    ref filename, ref missing, ref readonlyobj, ref missing, ref missing,

    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

    string filenm = "C:\\romil2.docx";

    object filenm3 = "C:\\romil3.docx";

    doc.TrackRevisions = true;

    doc.ShowRevisions = false;

    doc.PrintRevisions = true;

    doc.Compare(filenm);

    doc.Close(Microsoft.Office.Interop.Word.WdSaveOptions.wdDoNotSaveChanges);

    app.ActiveDocument.SaveAs(ref filenm3, ref missing, ref readonlyobj, ref missing, ref missing,

    ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

    app.Quit(Microsoft.Office.Interop.Word.WdSaveOptions.wdSaveChanges);

    MessageBox.Show("Process complete");
}
于 2012-04-24T11:04:50.423 回答
0

您可以使用以下库之一来操作 Word 文档并自己构建文档比较方法。

  1. Microsoft Interop(需要安装 Office)
  2. OpenXML SDK
  3. Aspose.Words for .NET

由于这个问题很老,现在有更多可用的解决方案。

  1. Groupdocs 比较
  2. Aspose.Words for .NET 的文档比较

我与 Aspose 一起担任开发人员宣传员。

于 2015-03-09T11:14:46.063 回答