Inleiding

Of je nu werkt met contracten, interne beleidsregels, technische specificaties of marketingteksten, het patroon is hetzelfde: je verzamelt snel meerdere .docx-versies en moet op een bepaald moment precies zien wat er tussen hen is veranderd. Het ingebouwde Compare‑dialoogvenster van Word is prima voor een occasionele handmatige controle, maar helpt weinig wanneer vergelijken een regulier onderdeel van een proces wordt of geautomatiseerd moet worden aan de serverzijde.

GroupDocs.Comparison voor .NET laat je die vergelijking vanuit code uitvoeren en het resultaat produceren in het formaat dat jouw beoordelaars verkiezen. De bibliotheek ondersteunt twee uitvoer‑vergelijkingsmodi voor Word‑documenten:

  1. Revisiemodus — verschillen worden geschreven als Word-revisie (track‑changes) markup. Beoordelaars openen het bestand, zien de bekende Review → Accept / Reject‑besturingen, en werken de wijzigingen één voor één af.
  2. Highlight‑modus — ingevoegde, verwijderde en gewijzigde tekst wordt weergegeven met gekleurde markeringen direct in de documentinhoud, zodat verschillen in één oogopslag zichtbaar zijn terwijl je de uiteindelijke tekst leest.

In dit artikel lopen we beide benaderingen door met werkende C#‑voorbeelden, verkennen we de WordCompareOptions‑klasse en haar eigenschappen, en bespreken we wanneer elke modus zinvoller is.

Vereisten

Voor je begint:

  • .NET 6.0 of hoger.
  • GroupDocs.Comparison voor .NET — installeren via NuGet:
dotnet add package GroupDocs.Comparison
  • Een licentiebestand (GroupDocs.Comparison.lic). Zonder dit draait de bibliotheek in evaluatiemodus met watermerken en grootte‑beperkingen. Je kunt een tijdelijke licentie aanvragen voor testen.
  • Twee Word‑bestanden om te vergelijken — we noemen ze source.docx en target.docx. Voorbeeldinhoud:
source.docx target.docx

Methode 1: Revisie‑Track Vergelijking

Wanneer te gebruiken: beoordelaars moeten elke wijziging afzonderlijk accepteren of afwijzen in Microsoft Word met de ingebouwde Review → Accept / Reject‑tools — bijvoorbeeld tijdens contractonderhandelingen of beleidsgoedkeuringscycli.

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

Resultaatdocument in revisie‑ (track changes) modus:

Comparison result in revision (track changes) mode

Wat er achter de schermen gebeurt:

  • ComparisonDisplayMode.Revisions vertelt de engine om native Word track‑changes markup te genereren.
  • DetectStyleChanges = true zorgt ervoor dat de vergelijking opmaakverschillen (vet, lettergrootte, kleur) naast tekstuele bewerkingen oppikt.
  • Het uitvoerbestand wordt geopend in Microsoft Word met het Review‑paneel klaar — elke invoeging, verwijdering en stijl‑aanpassing wordt weergegeven en kan worden geaccepteerd of afgewezen.

Omdat revisiemodus de documentinhoud niet opnieuw hoeft te renderen — het voegt simpelweg revisie‑metadata toe — is het doorgaans de snellere van de twee modi.


Methode 2: Highlight‑Modus Vergelijking

Wanneer te gebruiken: belanghebbenden willen een schoon document dat duidelijk toont wat er is veranderd, maar hebben geen behoefte om elke afzonderlijke revisie door te nemen. Een typisch scenario is een manager die de nieuwste versie in Word opent en snel gemarkeerde invoegingen en verwijderingen scant om de impact van de update te begrijpen.

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

Resulterend document in highlight‑modus:

Vergelijkingsresultaat in highlight-modus

Wat er achter de schermen gebeurt:

  • ComparisonDisplayMode.Highlight rendert verschillen als inline kleur‑highlights — rood voor verwijderingen, groen voor invoegingen, blauw voor stijlwijzigingen (standaardkleuren die kunnen worden aangepast via WordCompareOptions / CompareOptions en de gerelateerde StyleSettings).
  • Het document is klaar om te lezen of af te drukken zonder extra stappen.
  • Er wordt geen track‑changes‑metadata aan het bestand toegevoegd.

De highlight‑modus doet meer intern werk omdat het de feitelijke documentinhoud moet aanpassen en opmaak moet toepassen. Voor grote bestanden kun je een aanzienlijk prestatieverschil merken ten opzichte van revisiemodus.


Verkennen van WordCompareOptions

Beide bovenstaande voorbeelden gebruiken WordCompareOptions — een klasse die algemene instellingen erft van CompareOptions en eigenschappen toevoegt die specifiek zijn voor Word‑documenten. Via dit type beheer je de weergavemodus (DisplayMode), of stijlwijzigingen worden gevolgd (DetectStyleChanges), welke auteursnaam verschijnt bij revisies (RevisionAuthorName), en hoe regeleinden, bladwijzers enzovoort.

Daarnaast biedt de basisklasse CompareOptions stijlen voor ingevoegde, verwijderde en gewijzigde items (InsertedItemStyle, DeletedItemStyle, ChangedItemStyle), zodat je kleuren en opmaak van de highlights kunt verfijnen wanneer nodig.

Hier is een klein voorbeeld van het configureren van opties voor een alleen‑tekst controle in revisiemodus:

var options = new WordCompareOptions
{
    DisplayMode = WordCompareOptions.ComparisonDisplayMode.Revisions,
    DetectStyleChanges = false,
    RevisionAuthorName = "QA Bot",
    CompareBookmarks = true
};

Wijzigingen Programma­tisch Ophalen

Ongeacht welke uitvoermodus je kiest (revisies of highlight), je kunt altijd een gestructureerde lijst van gedetecteerde verschillen verkrijgen via de gemeenschappelijke Comparer.GetChanges‑API. Deze methode werkt voor Word en alle andere ondersteunde formaten.

using (var comparer = new Comparer("source.docx"))
{
    comparer.Add("target.docx");

    comparer.Compare("result_revision.docx");

    var changes = comparer.GetChanges(); // returns ChangeInfo[]
}

Dit is handig wanneer je wijzigingen moet nabewerken in je eigen workflow — bijvoorbeeld om een aangepast HTML‑rapport te bouwen, verschillen in een beoordelingssysteem te voeden, of statistieken over bewerkingen te aggregeren. Zie de officiële API‑referentie voor meer details: Comparer.GetChanges.


Werken met Met Wachtwoord Beveiligde Documenten

Als documenten met een wachtwoord zijn beveiligd, kunnen ze nog steeds worden vergeleken: het wachtwoord wordt doorgegeven via LoadOptions bij het aanmaken van de Comparer. Deze aanpak werkt op dezelfde manier voor Word, PDF en andere ondersteunde formaten.

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

Vraag een Gratis Proefversie

Je kunt GroupDocs.Comparison voor .NET downloaden vanaf de officiële releases‑pagina. Voor onbeperkt testen, vraag een tijdelijke licentie aan — geen creditcard vereist.


Veelgestelde Vragen

V: Heb ik Microsoft Word of Office nodig geïnstalleerd op de server?
A: Nee. GroupDocs.Comparison is een zelfstandige .NET‑bibliotheek; hij leest en schrijft DOCX‑bestanden zelfstandig.

V: Kan ik documenten vergelijken in andere formaten dan Word?
A: Ja — de bibliotheek ondersteunt PDF‑bestanden, Excel‑werkbladen, presentaties, platte‑tekstbestanden en nog veel meer. De volledige lijst staat in de documentatie.

V: Wat gebeurt er als ik geen licentie instel?
A: De bibliotheek draait in evaluatiemodus. Uitvoerdocumenten bevatten een watermerk en slechts de eerste paar pagina’s worden verwerkt. Een tijdelijke licentie verwijdert deze beperkingen voor testdoeleinden.

V: Kan ik de highlight‑kleuren aanpassen?
A: De standaardkleuren werken voor de meeste gevallen. Voor geavanceerde stijl‑controle, bekijk de StyleSettings‑eigenschap op CompareOptions.


Conclusie

GroupDocs.Comparison voor .NET biedt je twee nette manieren om Word‑documenten vanuit code te vergelijken. Revisiemodus sluit direct aan op de beoordelingsworkflow die je team al gebruikt; highlight‑modus levert een directe visuele samenvatting voor mensen die alleen de wijzigingen willen zien. De WordCompareOptions‑klasse laat je de output fijn afstemmen — van stijldetectie en auteursattributie tot bladwijzer‑ en document‑eigenschapvergelijken.

Kies de modus die bij jouw scenario past, of genereer beide en laat elk publiek hun voorkeursweergave kiezen.

Aanvullende bronnen