
Porównaj dwa lub więcej dokumentów programu Word przy użyciu języka C#
Możesz łatwo porównać dwa lub więcej dokumentów programu Word lub porównać wiele wersji tego samego pliku programu Word pod kątem różnic i podobieństw programowo w aplikacjach .NET. W tym artykule dowiesz się, jak porównać dwa lub więcej dokumentów programu Word i podkreślić różnice za pomocą języka C#.
W tym artykule omówiono/omówiono następujące tematy:
- API C# do porównywania plików DOCX
- Porównaj dwa lub więcej dokumentów programu Word przy użyciu języka C#
- Porównaj dokumenty programu Word za pomocą strumienia w języku C#
- Uzyskaj tekst zmian za pomocą języka C#
- Porównanie właściwości dokumentów przy użyciu języka C#
- Porównaj dokumenty Word chronione hasłem przy użyciu języka C#
- Porównaj zakładki w dokumentach programu Word przy użyciu języka C#
API C# do porównywania plików DOCX
Do porównania dwóch lub więcej plików DOCX użyję GroupDocs.Comparison for .NET API. Porównuje dwa lub więcej dokumentów i wykrywa zmiany w treści dokumentów pod względem słów, akapitów i znaków. W rezultacie powstaje dokument porównawczy, który podkreśla różnice i zawiera podsumowanie różnic. Umożliwia także wykrywanie zmian i różnic w stylu tekstu pomiędzy podobnymi formatami dokumentów. Interfejs API obsługuje porównywanie wszystkich standardowych formatów dokumentów, takich jak PDF, HTML, Word, Excel, PowerPoint, wiadomości e-mail programu Outlook, diagramy Visio, OpenDocument, AutoCAD i obrazy.
Możesz pobrać bibliotekę DLL interfejsu API lub zainstalować ją za pomocą NuGet.
Install-Package GroupDocs.Comparison
Porównaj dwa lub więcej dokumentów programu Word przy użyciu języka C#
Możesz programowo porównać dwa lub więcej dokumentów programu Word, wykonując proste kroki podane poniżej:
- Utwórz instancję klasy Comparer ze ścieżką źródłowego pliku DOCX
- Wywołaj metodę Add() z docelowym plikiem DOCX, który chcesz dodać do porównania
- Powtórz powyższy krok, aby dodać więcej plików do porównania
- Wywołaj metodę Compare() ze ścieżką do pliku wyjściowego
Poniższy przykładowy kod pokazuje, jak porównać dwa lub więcej dokumentów programu Word i wyróżnia różnice przy użyciu języka C#.
// zainicjuj funkcję porównującą
Comparer comparer = new Comparer("C:\\Files\\source.docx");
// dodaj plik docelowy do porównania
comparer.Add("C:\\Files\\target.docx");
// porównaj i zapisz różnice
comparer.Compare("C:\\Files\\result.docx");

Źródłowe i docelowe pliki DOCX

Porównaj dwa lub więcej dokumentów programu Word przy użyciu języka C#
Dokument wynikowy zawiera również stronę podsumowującą na końcu dokumentu, która pokazuje podsumowanie wszystkich zmian znalezionych w porównaniu.
Klasa Comparer jest klasą główną, która umożliwia kontrolowanie i realizację procesu porównywania. Zapewnia kilka metod porównywania dwóch lub więcej dokumentów. Metoda Add() tej klasy dodaje plik do procesu porównania. Możesz łatwo dodać wiele plików do porównania, korzystając z metody Add(), jak pokazano poniżej:
comparer.Add("target1.docx");
comparer.Add("target2.docx");
comparer.Add("target3.docx");
Metoda Compare() klasy Comparer porównuje dokumenty źródłowe i docelowe. Ta metoda podkreśla różnice i zapisuje wyniki w ścieżce pliku podanej jako parametr wejściowy.
Porównaj dokumenty programu Word za pomocą strumienia w języku C#
Możesz porównać dwa lub więcej dokumentów programu Word za pomocą FileStream, wykonując czynności podane poniżej:
- Przeczytaj plik źródłowy w obiekcie Stream
- Przeczytaj plik docelowy w innym obiekcie Stream
- Utwórz instancję klasy Comparer ze źródłowym obiektem Stream
- Wywołaj metodę Add() z docelowym obiektem Stream, który chcesz dodać do porównania
- Wywołaj metodę Compare() ze ścieżką do pliku wyjściowego
Poniższy przykładowy kod pokazuje, jak porównywać dokumenty programu Word przy użyciu FileStream w języku C#.
// czytaj pliki źródłowe i docelowe
using (Stream sourceStream = File.OpenRead("C:\\Files\\source.docx"))
using (Stream targetStream = File.OpenRead("C:\\Files\\target.docx"))
{
// zainicjuj funkcję porównującą
using (Comparer comparer = new Comparer(sourceStream))
{
// dodaj docelowy strumień plików do porównania
comparer.Add(targetStream);
// porównaj i zapisz różnice
comparer.Compare(File.Create("C:\\Files\\result.docx"));
}
}
Uzyskaj tekst zmian za pomocą języka C#
Możesz programowo uzyskać tekst zmian znalezionych w porównaniu dokumentów Word, wykonując proste kroki podane poniżej:
- Utwórz instancję klasy Comparer ze ścieżką źródłowego pliku DOCX
- Wywołaj metodę Add() z docelowym plikiem DOCX, który chcesz dodać do porównania
- Powtórz powyższy krok, aby dodać więcej plików do porównania
- Wywołaj metodę Compare().
- Wywołaj metodę GetChanges(), aby uzyskać szczegółowe informacje o zmianach
- Pokaż zmiany
Poniższy przykładowy kod pokazuje, jak uzyskać tekst zmian przy użyciu języka C#.
// zainicjuj funkcję porównującą
Comparer porównywaćr = new Comparer("C:\\Files\\source.docx");
// dodaj plik docelowy do porównania
porównywaćr.Add("C:\\Files\\target.docx");
// porównywać
porównywaćr.Compare();
// uzyskać zmiany
ChangeInfo[] changes = porównywaćr.GetChanges();
Console.WriteLine("Count of changes: " + changes.Length);
// pokaż zmiany
foreach (ChangeInfo change in changes)
{
Console.WriteLine("Change Type: " + change.Type + ", Text: " + change.Text);
}
Count of changes: 10
Change Type: Inserted, Text:
Change Type: Inserted, Text: Company ‼ HYPERLINK "http://www.aspose.com/" ¶Aspose Pty Ltd§ Division GroupDocs
Change Type: Inserted, Text:
Change Type: Inserted, Text: Cool
Change Type: Deleted, Text: test
Change Type: Inserted, Text:
Change Type: Inserted, Text: signatures
Change Type: Inserted, Text:
Change Type: Deleted, Text: Customers
Change Type: Deleted, Text: GroupDocs is used by companies of all sizes across the globe, from large multinational firms to small freelance businesses. They come to us because they have a need for a simple, one-stop-shop, document management solution.
Listę zmian pomiędzy plikami źródłowymi i docelowymi można uzyskać wywołując metodę GetChanges() klasy Comparer. Zwraca listę obiektów ChangeInfo. Klasa ChangeInfo reprezentuje informacje o zmianach i udostępnia różne właściwości umożliwiające uzyskanie szczegółów zmian, takie jak Text, Type itp.
Porównanie właściwości dokumentów przy użyciu języka C#
Możesz programowo porównywać wbudowane, niestandardowe i zmienne właściwości dokumentów programu Word, wykonując czynności podane poniżej:
- Utwórz instancję klasy Comparer ze ścieżką źródłowego pliku DOCX
- Wywołaj metodę Add() z docelowym plikiem DOCX, który chcesz dodać do porównania
- Powtórz powyższy krok, aby dodać więcej plików do porównania
- Utwórz instancję CompareOptions
- Ustaw CompareVariableProperty na true
- Ustaw CompareDocumentProperty na true
- Wywołaj metodę Compare() ze ścieżką do pliku wyjściowego i opcjami porównania
Poniższy przykładowy kod pokazuje, jak porównać właściwości dokumentów przy użyciu języka C#.
// zainicjuj funkcję porównującą
Comparer porównywaćr = new Comparer("C:\\Files\\source.docx");
// dodaj plik docelowy do porównania
porównywaćr.Add("C:\\Files\\target.docx");
// zdefiniuj opcje porównania
CompareOptions options = new CompareOptions();
options.CompareVariableProperty = true; // activate the comparison of variable properties
options.CompareDocumentProperty = true; // activate the comparison of built and custom properties
// porównywać
porównywaćr.Compare("C:\\Files\\result.docx", options);

Porównanie właściwości dokumentów przy użyciu języka C#
Możesz usprawnić proces porównywania, stosując różne opcje porównywania. W tym celu klasa CompareOptions umożliwia ustawienie różnych opcji porównywania w celu uzyskania określonych wyników. Element CompareDocumentProperty tej klasy umożliwia włączenie porównywania właściwości wbudowanych i niestandardowych w formacie programu Word. Opcja CompareVariableProperty umożliwia włączenie porównywania właściwości zmiennych w formacie Word.
Porównaj dokumenty Word chronione hasłem przy użyciu języka C#
Możesz programowo porównać dwa lub więcej dokumentów programu Word chronionych hasłem, wykonując poniższe czynności:
- Utwórz instancję klasy LoadOptions.
- Podaj hasło do pliku źródłowego
- Utwórz instancję klasy Comparer ze ścieżką źródłowego pliku DOCX i opcjami LoadOptions
- Wywołaj metodę Add() podając ścieżkę docelowego pliku DOCX i instancję LoadOptions z hasłem
- Powtórz powyższy krok, aby dodać więcej plików do porównania
- Wywołaj metodę Compare() ze ścieżką do pliku wyjściowego
Poniższy przykładowy kod pokazuje, jak porównać dokumenty programu Word chronione hasłem przy użyciu języka C#.
// zdefiniuj opcje ładowania pliku źródłowego
LoadOptions sourceLoadOptions = new LoadOptions() { Password = "1234" };
// zainicjuj funkcję porównującą
Comparer porównywaćr = new Comparer("C:\\Files\\source.docx", sourceLoadOptions);
// dodaj plik docelowy do porównania
porównywaćr.Add("C:\\Files\\target.docx", new LoadOptions() { Password = "5678" });
// porównywać
porównywaćr.Compare("C:\\Files\\result.docx");
Klasa LoadOptions umożliwia określenie dodatkowych opcji podczas ładowania dokumentu. Zapewnia następujące właściwości do określenia:
- FontDirectories — Lista katalogów czcionek do załadowania.
- LoadText — Wskazuje, że przekazane ciągi znaków są tekstem porównawczym, a nie ścieżkami plików (tylko w przypadku porównania tekstu).
- Hasło — hasło dokumentu.
Porównaj zakładki w dokumentach programu Word przy użyciu języka C#
Możesz programowo porównać zakładki dostępne w dokumentach Word, wykonując poniższe czynności:
- Utwórz instancję klasy Comparer ze ścieżką źródłowego pliku DOCX
- Wywołaj metodę Add() z docelowym plikiem DOCX, który chcesz dodać do porównania
- Powtórz powyższy krok, aby dodać więcej plików do porównania
- Utwórz instancję CompareOptions
- Ustaw CompareBookmarks na true
- Wywołaj metodę Compare() ze ścieżką do pliku wyjściowego i opcjami porównania
Poniższy przykładowy kod pokazuje, jak porównać zakładki w dokumentach programu Word przy użyciu języka C#.
// zainicjuj funkcję porównującą
Comparer porównywaćr = new Comparer("C:\\Files\\source.docx");
// dodaj plik docelowy do porównania
porównywaćr.Add("C:\\Files\\target.docx");
// zdefiniuj opcje porównania
CompareOptions porównywaćOptions = new CompareOptions();
porównywaćOptions.CompareBookmarks = true; // porównywać bookmarks
// porównywać
porównywaćr.Compare("C:\\Files\\result.docx", porównywaćOptions);

Porównaj zakładki w dokumentach programu Word przy użyciu języka C#
Właściwość CompareBookmarks umożliwia porównanie zakładek dostępnych w dokumencie źródłowym i docelowym.
Zdobądź bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak porównywać dwa lub więcej dokumentów programu Word i podkreślać różnice przy użyciu języka C#. Nauczyłeś się także, jak uzyskać listę wyróżnionych zmian. Co więcej, nauczyłeś się programowo porównywać zakładki w dokumentach Word. Ponadto nauczyłeś się porównywać dokumenty Word chronione hasłem przy użyciu języka C#. Więcej informacji na temat GroupDocs.Comparison for .NET API można znaleźć w dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.