GroupDocs.Comparison for .NET ist eine C#-Bibliothek, mit der Sie Dokumente vergleichen und Unterschiede finden können. Vergleichen und führen Sie Microsoft Word, Excel, PowerPoint, OpenDocument, PDF, Text, HTML und viele andere Dokumente zusammen, rufen Sie eine Liste der Änderungen zwischen Quell- und Zieldokument(en) ab, übernehmen oder verwerfen Sie Änderungen und speichern Sie Ergebnisse mit GroupDocs .Vergleichs-API. Darüber hinaus kann GroupDocs.Comparison Stil- und Formatierungsänderungen erkennen – wie Fett, Kursiv, Unterstrichen, Durchgestrichen, Schriftarten usw.

Die von GroupDocs.Comparison verwendeten Algorithmen zur Erkennung von Änderungen ermöglichen es, Unterschiede in verschiedenen Dokumententeilen und -blöcken zu erkennen:

  • Textblöcke - Absätze, Wörter und Zeichen;
  • Tabellen;
  • Bilder;
  • Formen usw.

Hier sind einfache Schritte, um zwei Textdateien zu vergleichen und Unterschiede aufzuzeigen:

  • Comparer-Objekt mit Pfad oder Stream des Quelldokuments instanziieren;
  • Rufen Sie die Methode Add auf und geben Sie den Pfad oder Stream des Zieldokuments an;
  • Rufen Sie die Methode Compare auf.

Das folgende Code-Snippet demonstriert den einfachsten Fall des Dokumentvergleichs mit ein paar Codezeilen.

Dokumente aus lokaler Datei vergleichen

using (Comparer comparer = new Comparer(“source.docx”))
{
    comparer.Add(“target.docx”);
    comparer.Compare(“result.docx”);
}

Dokumente aus dem Stream vergleichen

using (Comparer comparer = new Comparer(File.OpenRead(“source.docx”)))
{
    comparer.Add(File.OpenRead(“target.docx”));
    comparer.Compare(File.Create(“result.docx”));
}

Angenommen, Sie haben zwei Verträge im DOCX-Format, die in unterschiedlichen Jahren abgeschlossen wurden. Wenn Sie den obigen Code verwenden, um diese Verträge zu vergleichen, erhalten Sie eine DOCX-Datei, in der die gelöschten Elemente rot, die hinzugefügten blau und die geänderten grün markiert sind, wie unten gezeigt:

Erkannte Unterschiede akzeptieren oder ablehnen

GroupDocs.Comparison bietet die Möglichkeit, bestimmte Änderungen zwischen Quell- und Zieldokumenten anzuwenden oder zu verwerfen und das resultierende Dokument mit (oder ohne) ausgewählten Änderungen zu speichern.

Im Folgenden sind die Schritte zum Anwenden/Ablehnen von Änderungen auf das resultierende Dokument aufgeführt.

Das folgende Codebeispiel zeigt, wie erkannte Unterschiede akzeptiert/zurückgewiesen werden.

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 });
}

Dokumentseitenvorschau generieren

GroupDocs.Comparison ermöglicht das Generieren von Seitenvorschauen für Quell-, Ziel- und Ergebnisdokument(e) mit der Methode GeneratePreview einer Klasse Document.

Die Klasse PreviewOptions wird verwendet, um den Vorschaugenerierungsprozess zu verwalten – geben Sie die gewünschten Seitenzahlen, das Bildformat usw. an.

Im Folgenden sind die Schritte zum Generieren einer Dokumentvorschau mit der GroupDocs.Comparison-API aufgeführt:

  • Erstellen Sie eine neue Instanz der Klasse Comparer und übergeben Sie den Pfad des Quelldokuments als Konstruktorparameter.
  • Zieldokument(e) mit der Methode Hinzufügen zum Vergleich hinzufügen;
  • Die Eigenschaften Source und Targets des Objekts Comparer ermöglichen den Zugriff auf Quell- und Zieldokumente und bieten die Methode GeneratePreview;
  • Instanziieren Sie das Objekt PreviewOptions mit:
    • Delegate für jede Seitenstromerstellung (siehe Ereignishandler CreatePageStream);
    • Bildvorschauformat - PNG / JPG / BMP;
    • zu verarbeitende Seitenzahlen;
    • benutzerdefinierte Größe von Vorschaubildern (falls erforderlich).
  • Rufen Sie die Methode GeneratePreview des Dokuments Source und Targets auf und übergeben Sie ihm PreviewOptions.

Seitenvorschau für das resultierende Dokument erhalten

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);
}

Vergleichen Sie mehrere Dokumente

GroupDocs.Comparison ermöglicht den Vergleich von mehr als zwei Dokumenten. Das folgende Codebeispiel zeigt, wie mehrere Dokumente programmgesteuert verglichen werden.

using (Comparer comparer = new Comparer(“source.docx”)
{
    comparer.Add(“target1.docx”);
    comparer.Add(“target2.docx”);
    comparer.Add(“target3.docx”);
    comparer.Compare(“result.docx”);
}

Installation

NuGet ist der einfachste Weg, GroupDocs.Comparison für .NET herunterzuladen und zu installieren. Bitte besorgen Sie sich eine temporäre Lizenz, um die Bibliothek ohne Funktionseinschränkungen zu testen.

Bitte lesen Sie die Dokumentation, um mehr über die Bibliothek zu erfahren. Wir bieten auch kostenlosen technischen Support, also zögern Sie nicht, uns zu kontaktieren – wir helfen Ihnen gerne weiter.