Dokumenty edytora tekstu to najczęstszy sposób sporządzania umów, porozumień, dokumentów i wielu innych oficjalnych dokumentów. Jeśli potrzebujesz porównać i scalić dwa dokumenty programu Word, podobnie jak opcja śledzenia zmian w programie Microsoft Word, możemy to zrobić programowo w naszych aplikacjach .NET. W tym artykule omówimy, jak porównać dwa dokumenty programu Word i podkreślić zidentyfikowane różnice przy użyciu języka C#. Dodatkowo przyjrzymy się, jak porównywać dokumenty chronione hasłem, akceptować i odrzucać zmiany oraz porównywać więcej niż dwa dokumenty z przykładami C#.

Porównaj dokumenty programu Word, aby znaleźć różnice przy użyciu interfejsu API platformy .NET

Omawiane są tu następujące tematy:

Interfejs API platformy .NET do porównywania dokumentów programu Word

GroupDocs.Comparison zapewnia interfejs API .NET, który umożliwia porównywanie, a następnie łączenie różnych dokumentów w wielu formatach plików w aplikacji .NET. Użyję jego .NET API, tj. GroupDocs.Comparison for .NET do porównania dokumentów Worda.

Możesz pobrać instalator bibliotek DLL lub MSI z sekcji pobierania lub zainstalować interfejs API w swojej aplikacji .NET za pośrednictwem NuGet.

PM> Install-Package GroupDocs.Comparison

Porównaj dokumenty programu Word przy użyciu języka C#

Jeśli masz dwie wersje dokumentu, możesz porównać dokumenty, aby znaleźć różnice (dodatki, usunięcia) i utworzyć nowy dokument, który pokaże wszystkie zmiany. Poniżej przedstawiono kroki, aby porównać dowolne dwa dokumenty programu Word i podkreślić różnice.

  • Załaduj pierwszy dokument programu Word, używając klasy Comparer.
  • Dodaj drugi plik do Comparera za pomocą metody Add().
  • Porównaj i uzyskaj podsumowanie zmian, wywołując metodę Compare().

Poniższy kod C# pokazuje, jak porównać dokumenty programu Word i uzyskać zmiany w dokumencie wynikowym.

/*
 * Porównaj dwa dokumenty programu Word i wyróżnij zmiany za pomocą języka C#
 */
using (Comparer comparer = new Comparer("path/document.docx"))
{
    comparer.Add("path/document-ver2.docx");
    comparer.Compare("path/compared-result.docx");
}

Zaakceptuj lub odrzuć zidentyfikowane zmiany dokumentów programu Word przy użyciu języka C#

Podobnie jak w przypadku opcji śledzenia zmian w MS Word, możesz zaakceptować lub odrzucić każdą zidentyfikowaną zmianę. Poniżej przedstawiono kroki, aby porównać, a następnie zaakceptować lub odrzucić zidentyfikowane zmiany w dokumentach programu Word.

  • Załaduj dokument źródłowy i dodaj docelowe dokumenty programu Word, używając klasy Comparer.
  • Dokonaj porównania załadowanych dokumentów metodą Compare().
  • Pobierz zidentyfikowane zmiany za pomocą metody GetChanges().
  • Teraz możesz przejrzeć zmiany i ustawić ComparisonAction każdej zmiany.
    • Dla każdej zmiany możesz wybrać Akceptuj lub Odrzuć.
  • Po zakończeniu zmian wywołaj metodę ApplyChanges(), aby uzyskać wynikowy dokument z zastosowanymi zmianami.

Poniższy kod źródłowy języka C# porównuje dwa dokumenty programu Word, a następnie akceptuje zidentyfikowaną zmianę, a następnie odrzuca inną.

/*
 * Akceptuj i odrzucaj zidentyfikowane zmiany, porównując dokumenty programu Word przy użyciu języka C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // Odrzucenie pierwszej zidentyfikowanej zmiany i nie zostanie ona dodana do dokumentu wynikowego
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges("path/rejected-change-result.docx", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges("path/accepted-change-result.docx", new ApplyChangeOptions { Changes = changes });
}

Porównaj więcej niż dwa dokumenty za pomocą C#

Podobnie można porównać więcej niż dwa dokumenty za jednym razem. Poniżej przedstawiono kroki, aby porównać wiele dokumentów programu Word pod kątem różnic i wyróżnić zidentyfikowane zmiany.

  • Załaduj pierwszy dokument programu Word, używając klasy Comparer.
  • Kontynuuj dodawanie innych dokumentów do programu Comparer za pomocą metody Add().
  • Wywołaj metodę Compare(), aby uzyskać zmiany i podsumowanie zmian.

Poniższy kod C# pokazuje, jak porównać więcej niż dwa dokumenty programu Word i uzyskać zmiany w dokumencie wynikowym.

/*
 * Porównaj wiele dokumentów programu Word przy użyciu języka C#
 */
using (Comparer comparer = new Comparer("path/document-1.docx"))
{
    comparer.Add("path/document-2.docx");
    comparer.Add("path/document-3.docx");
    comparer.Add("path/document-4.docx");

    comparer.Compare("path/compare-result.docx");
}

Porównaj dokumenty programu Word chronione hasłem przy użyciu języka C#

Jeśli Twoje dokumenty są chronione hasłem, po prostu podaj hasło podczas ładowania dokumentów. Poniższe kroki pokazują, jak możemy porównać zawartość dokumentów chronionych hasłem przy użyciu języka C#.

  • Przygotuj opcje ładowania dokumentów źródłowych i docelowych, podając hasło.
  • Załaduj dokument źródłowy za pomocą klasy Comparer.
  • Dodaj dokument docelowy do Porównywarki, korzystając z przygotowanych opcji ładowania.
  • Uzyskaj podsumowanie różnic, wywołując metodę Compare().

Poniższy przykład kodu w języku C# porównuje dwa pliki programu Word chronione hasłem i generuje wynikowy dokument, który podkreśla różnice.

/*
 * Porównaj dokumenty programu Word chronione hasłem przy użyciu języka C#
 */
using (Comparer comparer = new Comparer("path/protected-document-1.docx", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add("path/protected-document-2.docx", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare("path/compared-protected-docs-result.docx");
}

Uzyskaj bezpłatną licencję API

Możesz uzyskać bezpłatną tymczasową licencję na korzystanie z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, nauczyliśmy się porównywać dwa lub więcej dokumentów programu Word przy użyciu języka C#. Ponadto, po podkreśleniu różnic, nauczyliśmy się programowo akceptować i odrzucać zidentyfikowane zmiany. Na koniec omówiliśmy również, w jaki sposób możemy porównać chronione hasłem dokumenty Worda w aplikacjach .NET.

Istnieje wiele innych dostosowań do kontrolowania wyników porównania, takich jak ustawienie czułości porównania, wyświetlanie tylko strony podsumowania, ignorowanie luk i wiele więcej. Dowiedz się więcej o GroupDocs.Comparison dla platformy .NET. Odwiedź jego dokumentację, aby rozpocząć tworzenie własnych aplikacji do porównywania dokumentów dla różnych obsługiwanych formatów dokumentów. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też