2012-04-24 21 views
0

Я ищу компонент .net winforms, который может сравнивать два отформатированных документа (в .doc, .docx, .html, .rtf, любой из них будет делать) и визуально определять изменения. Мы предпочитаем видеть изменения в виде MS Word, когда он показывает изменения в режиме изменения дорожки.Компонент .net winforms для сравнения двух документов?

Мы ожидаем, что короткие документы длиной всего в несколько страниц и мало редактирования (несколько слов изменены, абзац добавлен/удален и т. Д.).

вы знаете о таком компоненте, который вы можете рекомендовать бесплатно или иначе

Спасибо, Кемаль

+1

Вы можете использовать Word для сравнения;) – Matthew

+0

Напомни об этом. На самом деле, это наш последний вариант, если мы не сможем найти что-либо еще –

ответ

3

После код будут сравнить два слово документа и сохранить слияние изменений в третьем документе.

добавить ссылку на 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"); 
} 
+0

, лишенного какого-либо другого ответа, я полагаю, что такого компонента не существует, по крайней мере, у крупных поставщиков. Итак, я возьму это. спасибо за ваше время, чтобы опубликовать код –

0

Вы можете использовать один из следующих библиотек для манипулирования документа Word, и построить метод сравнения документов самостоятельно.

  1. Microsoft Interop (установка офиса требуется)
  2. OpenXML SDK
  3. Aspose.Words for .NET

Поскольку этот вопрос старый, теперь есть более доступные решения.

  1. Groupdocs compare
  2. Document Comparison by Aspose.Words for .NET

Я работаю с Aspose, как евангелист Developer.

Смежные вопросы