Einführung
Ob Sie nun mit Verträgen, internen Richtlinien, technischen Spezifikationen oder Marketingtexten arbeiten, das Muster ist dasselbe: Sie sammeln schnell mehrere .docx-Versionen an und müssen irgendwann genau sehen, was sich zwischen ihnen geändert hat. Der integrierte Compare‑Dialog von Word ist für gelegentliche manuelle Prüfungen in Ordnung, aber er hilft wenig, wenn der Vergleich Teil eines regulären Prozesses wird oder serverseitig automatisiert werden muss.
GroupDocs.Comparison for .NET ermöglicht es Ihnen, diesen Vergleich aus dem Code heraus durchzuführen und das Ergebnis im Format zu erzeugen, das Ihre Prüfer bevorzugen. Die Bibliothek unterstützt zwei Ausgabe‑Vergleichsmodi für Word‑Dokumente:
- Revisionsmodus — Unterschiede werden als Word‑Revision (Änderungsnachverfolgung) Markup geschrieben. Prüfer öffnen die Datei, sehen die bekannte Review → Accept / Reject‑Steuerung und bearbeiten die Änderungen einzeln.
- Highlight‑Modus — eingefügter, gelöschter und geänderter Text wird direkt im Dokumentenkörper mit Farbhervorhebungen dargestellt, sodass Unterschiede auf einen Blick erkennbar sind, während Sie den finalen Text lesen.
In diesem Artikel gehen wir beide Ansätze mit funktionierenden C#‑Beispielen durch, erkunden die Klasse WordCompareOptions und ihre Eigenschaften und diskutieren, wann welcher Modus sinnvoller ist.
Voraussetzungen
Bevor Sie beginnen:
- .NET 6.0 oder höher.
- GroupDocs.Comparison for .NET — Installation via NuGet:
dotnet add package GroupDocs.Comparison
- Eine Lizenzdatei (
GroupDocs.Comparison.lic). Ohne diese läuft die Bibliothek im Evaluierungsmodus mit Wasserzeichen und Größenbeschränkungen. Sie können eine temporäre Lizenz für Tests anfordern. - Zwei Word‑Dateien zum Vergleich — wir nennen sie
source.docxundtarget.docx. Beispielinhalt:
source.docx |
target.docx |
|---|
Methode 1: Revision‑Track‑Vergleich
Wann zu verwenden: Prüfer müssen jede Änderung einzeln in Microsoft Word mit den integrierten Review → Accept / Reject‑Werkzeugen akzeptieren oder ablehnen — zum Beispiel während Vertragsverhandlungen oder Genehmigungszyklen von Richtlinien.
using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;
using (var comparer = new Comparer("source.docx"))
{
comparer.Add("target.docx");
var options = new WordCompareOptions
{
DetectStyleChanges = true,
DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions
};
comparer.Compare("result_revision.docx", options);
}
Resultierendes Dokument im Revisionsmodus:
Was im Hintergrund geschieht:
ComparisonDisplayMode.Revisionsweist die Engine an, native Word‑Track‑Changes‑Markup zu erzeugen.DetectStyleChanges = truelässt den Vergleich Formatierungsunterschiede (Fett, Schriftgröße, Farbe) neben Textänderungen erkennen.- Die Ausgabedatei öffnet sich in Microsoft Word mit dem Review‑Paneel — jede Einfügung, Löschung und Stiländerung wird aufgelistet und kann akzeptiert oder abgelehnt werden.
Weil der Revisionsmodus den Dokumentinhalt nicht neu rendern muss – er hängt lediglich Revisions‑Metadaten an – ist er in der Regel der schnellere der beiden Modi.
Methode 2: Highlight‑Modus‑Vergleich
Wann zu verwenden: Stakeholder wollen ein sauberes Dokument, das klar zeigt, was sich geändert hat, sind aber nicht daran interessiert, jede einzelne Revision durchzugehen. Ein typisches Szenario ist ein Manager, der die neueste Version in Word öffnet und schnell hervorgehobene Einfügungen und Löschungen scannt, um die Auswirkungen des Updates zu verstehen.
using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;
using (var comparer = new Comparer("source.docx"))
{
comparer.Add("target.docx");
var options = new WordCompareOptions
{
DetectStyleChanges = true,
DisplayMode = WordCompareOptions.ComparisonDisplayMode.Highlight
};
comparer.Compare("result_highlighted.docx", options);
}
Resultierendes Dokument im Highlight‑Modus:
Was im Hintergrund geschieht:
ComparisonDisplayMode.Highlightrendert Unterschiede als Inline‑Farbhighlights — rot für Löschungen, grün für Einfügungen, blau für Stiländerungen (Standardfarben, die überWordCompareOptions/CompareOptionsund deren zugehörigeStyleSettingsangepasst werden können).- Das Dokument ist fertig zum Lesen oder Drucken, ohne weitere Schritte.
- Es werden keine Track‑Changes‑Metadaten zur Datei hinzugefügt.
Der Highlight‑Modus erfordert intern mehr Arbeit, da er den eigentlichen Dokumentinhalt ändern und Formatierungen anwenden muss. Bei großen Dateien kann ein merklicher Leistungsunterschied im Vergleich zum Revisionsmodus auftreten.
Untersuchung von WordCompareOptions
Beide obigen Beispiele verwenden WordCompareOptions — eine Klasse, die die allgemeinen Einstellungen von CompareOptions erbt und Eigenschaften hinzufügt, die spezifisch für Word‑Dokumente sind. Mit diesem Typ steuern Sie den Anzeigemodus (DisplayMode), ob Stiländerungen verfolgt werden (DetectStyleChanges), welcher Autorenname bei Revisionen erscheint (RevisionAuthorName), wie Zeilenumbrüche, Lesezeichen usw.
Zusätzlich stellt die Basisklasse CompareOptions Stile für eingefügte, gelöschte und geänderte Elemente bereit (InsertedItemStyle, DeletedItemStyle, ChangedItemStyle), sodass Sie bei Bedarf Farben und Formatierung der Highlights feinabstimmen können.
Hier ein kleines Beispiel zur Konfiguration von Optionen für einen reinen Text‑Check im Revisionsmodus:
var options = new WordCompareOptions
{
DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions,
DetectStyleChanges = false,
RevisionAuthorName = "QA Bot",
CompareBookmarks = true
};
Änderungen programmgesteuert erhalten
Unabhängig davon, welchen Ausgabemodus Sie wählen (Revisionen oder Highlight), können Sie stets über die gemeinsame API Comparer.GetChanges eine strukturierte Liste der erkannten Unterschiede erhalten. Diese Methode funktioniert für Word und alle anderen unterstützten Formate.
using (var comparer = new Comparer("source.docx"))
{
comparer.Add("target.docx");
comparer.Compare("result_revision.docx");
var changes = comparer.GetChanges(); // returns ChangeInfo[]
}
Das ist nützlich, wenn Sie Änderungen in Ihrem eigenen Workflow weiterverarbeiten müssen — zum Beispiel, um einen benutzerdefinierten HTML‑Report zu erstellen, Unterschiede in ein Review‑System einzuspeisen oder Statistiken über Bearbeitungen zu aggregieren. Siehe die offizielle API‑Referenz für weitere Details: Comparer.GetChanges.
Arbeiten mit passwortgeschützten Dokumenten
Wenn Dokumente mit einem Passwort geschützt sind, können sie dennoch verglichen werden: Das Passwort wird über LoadOptions beim Erzeugen des Comparer übergeben. Dieser Ansatz funktioniert für Word, PDF und andere unterstützte Formate gleichermaßen.
using GroupDocs.Comparison;
using GroupDocs.Comparison.Options;
using (var comparer = new Comparer("source_protected.docx",
new LoadOptions { Password = "secret" }))
{
comparer.Add("target_protected.docx");
var options = new WordCompareOptions
{
DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions
};
comparer.Compare("result_protected.docx", options);
}
Kostenlose Testversion erhalten
Sie können GroupDocs.Comparison für .NET von der offiziellen Release‑Seite herunterladen. Für uneingeschränkte Tests fordern Sie eine temporäre Lizenz an — keine Kreditkarte erforderlich.
Häufig gestellte Fragen
Q: Benötige ich Microsoft Word oder Office auf dem Server?
A: Nein. GroupDocs.Comparison ist eine eigenständige .NET‑Bibliothek; sie liest und schreibt DOCX‑Dateien eigenständig.
Q: Kann ich Dokumente in anderen Formaten als Word vergleichen?
A: Ja — die Bibliothek unterstützt PDFs, Excel‑Tabellen, Präsentationen, Klartextdateien und vieles mehr. Die vollständige Liste finden Sie in der Dokumentation.
Q: Was passiert, wenn ich keine Lizenz setze?
A: Die Bibliothek läuft im Evaluierungsmodus. Ausgabedokumente enthalten ein Wasserzeichen und es werden nur die ersten paar Seiten verarbeitet. Eine temporäre Lizenz entfernt diese Beschränkungen für Tests.
Q: Kann ich die Highlight‑Farben anpassen?
A: Die Standardfarben reichen für die meisten Anwendungsfälle. Für erweiterte Stilkontrolle prüfen Sie die StyleSettings‑Eigenschaft von CompareOptions.
Fazit
GroupDocs.Comparison für .NET bietet Ihnen zwei saubere Methoden, Word‑Dokumente programmgesteuert zu vergleichen. Der Revisionsmodus fügt sich nahtlos in den Review‑Workflow Ihres Teams ein; der Highlight‑Modus liefert eine sofortige visuelle Zusammenfassung für Personen, die lediglich die Änderungen sehen wollen. Die Klasse WordCompareOptions ermöglicht es Ihnen, die Ausgabe fein abzustimmen – von der Stil‑Erkennung und Autoren‑Zuordnung bis hin zum Vergleich von Lesezeichen und Dokumenteigenschaften.
Wählen Sie den Modus, der zu Ihrem Szenario passt, oder erzeugen Sie beide und lassen Sie jede Zielgruppe ihre bevorzugte Ansicht wählen.