GroupDocs.Comparison for .NET to biblioteka C#, która umożliwia porównywanie dokumentów i znajdowanie różnic. Porównuj i łącz Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Text, HTML i wiele innych dokumentów, pobierz listę zmian między dokumentami źródłowymi i docelowymi, zastosuj lub odrzuć zmiany i zapisz wyniki za pomocą GroupDocs Interfejs API porównania. Oprócz tego GroupDocs.Comparison może identyfikować zmiany stylu i formatowania – takie jak pogrubienie, kursywa, podkreślenia, przekreślenia, rodzaje czcionek itp.
Algorytmy wykrywania zmian używane przez GroupDocs.Comparison pozwalają wykryć różnice w różnych częściach i blokach dokumentu:
- Bloki tekstowe - akapity, słowa i znaki;
- stoły;
- Zdjęcia;
- Kształty itp.
Oto proste kroki, aby porównać dwa pliki tekstowe i pokazać różnice:
- Utwórz instancję obiektu Comparer ze ścieżką lub strumieniem dokumentu źródłowego;
- Wywołaj metodę Add i określ docelową ścieżkę lub strumień dokumentu;
- Wywołaj metodę Porównaj.
Poniższy fragment kodu demonstruje najprostszy przypadek porównania dokumentów przy użyciu kilku wierszy kodu.
Porównaj dokumenty z pliku lokalnego
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
}
Porównaj dokumenty ze strumienia
using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
comparer.Add(File.OpenRead(“target.docx”));
comparer.Compare(File.Create(“result.docx”));
}
Załóżmy, że masz dwie umowy w formacie DOCX, które zostały zawarte w różnych latach. Jeśli użyjesz powyższego kodu do porównania tych umów, otrzymasz plik DOCX, w którym usunięte elementy są zaznaczone na czerwono, dodane na niebiesko, a zmodyfikowane na zielono, jak pokazano poniżej:
Zaakceptuj lub Odrzuć wykryte różnice
GroupDocs.Comparison umożliwia zastosowanie lub odrzucenie określonych zmian między dokumentami źródłowymi i docelowymi oraz zapisanie wynikowego dokumentu z wybranymi zmianami (lub bez).
Poniżej przedstawiono kroki, aby zastosować/odrzucić zmiany w wynikowym dokumencie.
- Utwórz instancję obiektu Comparer ze ścieżką lub strumieniem dokumentu źródłowego;
- Wywołaj metodę Add i podaj ścieżkę docelowego dokumentu lub strumienia;
- Wywołaj metodę Porównaj;
- Wywołaj metodę GetChanges i uzyskaj listę wykrytych zmian;
- Ustaw ComparisonAction wymaganego obiektu zmiany na wartość ComparisonAction.Accept lub ComparisonAction.Reject;
- Wywołaj metodę ApplyChanges i przekaż do niej kolekcję zmian.
Poniższy przykładowy kod pokazuje, jak zaakceptować/odrzucić wykryte różnice.
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare();
ChangeInfo[] changes = comparer.GetChanges();
changes[0].ComparisonAction = ComparisonAction.Reject;
comparer.ApplyChanges(File.Create(“result.docx”), new SaveOptions(), new ApplyChangeOptions() { Changes = changes });
}
Wygeneruj podgląd stron dokumentu
GroupDocs.Comparison umożliwia generowanie podglądów stron dla dokumentów źródłowych, docelowych i wynikowych za pomocą metody GeneratePreview klasy Document.
Klasa PreviewOptions służy do zarządzania procesem generowania podglądu - określa żądane numery stron, format obrazu itp.
Poniżej przedstawiono kroki, aby wygenerować podgląd dokumentu za pomocą GroupDocs.Comparison API:
- Utwórz nową instancję klasy Comparer i przekaż ścieżkę dokumentu źródłowego jako parametr konstruktora;
- Dodaj dokument(y) docelowy(e) do porównania metodą Dodaj;
- Źródło and Targets properties of Comparer object allows to access source and target documents and provides GeneratePreview method;
- Utwórz instancję obiektu PreviewOptions za pomocą:
- delegat dla każdego tworzenia strumienia stron (zobacz program obsługi zdarzeń CreatePageStream);
- format podglądu obrazu - PNG/JPG/BMP;
- numery stron do przetworzenia;
- niestandardowy rozmiar obrazów podglądu (w razie potrzeby).
- Wywołaj metodę GeneratePreview dokumentu Source i Targets i przekaż do niej PreviewOptions.
Uzyskaj podglądy stron dla wynikowego dokumentu
using (Comparer comparer = new Comparer(“source.docx”))
{
comparer.Add(“target.docx”);
comparer.Compare(“result.docx”);
Document document = new Document(File.OpenRead(“result.docx”));
PreviewOptions previewOptions = new PreviewOptions(pageNumber =>
{
var pagePath = Path.Combine(“C:\\”, $"result\_{pageNumber}.png");
return File.Create(pagePath);
});
previewOptions.PreviewFormat = PreviewFormats.PNG;
previewOptions.PageNumbers = new int[] { 1, 2 };
document.GeneratePreview(previewOptions);
}
Porównaj wiele dokumentów
GroupDocs.Comparison umożliwia porównanie więcej niż dwóch dokumentów. Poniższy przykład kodu pokazuje, jak programowo porównać wiele dokumentów.
using (Comparer comparer = new Comparer(“source.docx”)
{
comparer.Add(“target1.docx”);
comparer.Add(“target2.docx”);
comparer.Add(“target3.docx”);
comparer.Compare(“result.docx”);
}
Instalacja
NuGet to najprostszy sposób na pobranie i zainstalowanie GroupDocs.Comparison dla platformy .NET. Proszę uzyskaj tymczasową licencję, aby przetestować bibliotekę bez żadnych ograniczeń funkcjonalnych.
Sprawdź dokumentację, aby dowiedzieć się więcej o bibliotece. Oferujemy również bezpłatną pomoc techniczną, dlatego zachęcamy do skontaktuj się z nami – chętnie pomożemy.